お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2019-03-14 20:46:41

kushi3835
メンバ
登録日: 2019-01-19

Ubuntuの「ビデオ」アプリ(Totem)が落ちる

Ubuntuの「ビデオ」アプリが落ちてしまいます。
ターミナルでtotemと入力し、立ち上げると

コード:

Totem:ERROR:totem-grilo.c:729:browse_cb: code should not be reached
中止

と表示され、totemが終了してしまいます。初心者なので、全く意味がわかっていない状況です。
エラーメッセージをググった(英語の情報も)ものの、検索結果が9件しか出ず。また、解決策が書かれているページが出ず。とても困りました。
最近はDVDを再生したり、ビデオや音楽ファイルを再生するためにTotemを立ち上げるとすぐこうなってしまいます。直し方教えていただけないでしょうか?

オフライン

 

#2 2019-03-15 01:38:55

kznj
メンバ
登録日: 2013-12-03

Re: Ubuntuの「ビデオ」アプリ(Totem)が落ちる

せっかく質問するのですから次の点を伝えて質問されたほうがいいと思います。
 
1)問題が起きた時のOS(ubuntu)のバージョン
uname -a と lsb_release -aで情報が取れます。
 
2)アプリのバージョン
ご質問のアプリはTotemで、ターミナルから起動する方法もご存知のようですから下記のパラメータ指定で情報が取れるはずです。
  totem --version
--versionパラメータに対応していないアプリの場合でも、パッケージ名(APT名)を推測出来れば下記のコマンドで情報が取れると思います。
  sudo apt show totem
  sudo apt-cache show totem
 
 
#1に書かれたエラーメッセージは見たところソースコードのファイルと行番号も出ているようです。
>Totem:ERROR:totem-grilo.c:729:browse_cb: code should not be reached
 
OSのバージョンとアプリのバージョンが分かる形であれば、ソースコードの該当箇所を見ることも出来るでしょう。
OSのバージョンとアプリのバージョンが不明確だと、ソースコードを見るにしても不確定要素(つまりあてずっぽ)が付きまといます。
そう意味で最初からバージョン関係の情報があったほうが回答が得やすいと思います。
 
因みに、totemのpackageの情報はこちら( https://launchpad.net/ubuntu/+source/totem )から見ることが出来ます。
ソースコードのダウンロードも出来るので、ご自分で左記のエラーメッセージの該当コードの箇所を見ることも出来ます。

オフライン

 

#3 2019-03-15 16:46:25

kushi3835
メンバ
登録日: 2019-01-19

Re: Ubuntuの「ビデオ」アプリ(Totem)が落ちる

すみません。情報が不足しておりました。
OSがUbuntu MATE 16.04で、ラズパイ3を使っております。
uname -aをすると

コード:

Linux pi-desktop 4.19.27-v7+ #1206 SMP Wed Mar 6 14:40:18 GMT 2019 armv7l armv7l armv7l GNU/Linux

と表示されました。
Totemのバージョンが以下のとおりです。

コード:

3.18.1

ソースコードを見てみましたが何が悪いのか意味がわかりません。
全く無知なのですがどうかよろしくおねがいします。

オフライン

 

#4 2019-03-16 03:34:02

kznj
メンバ
登録日: 2013-12-03

Re: Ubuntuの「ビデオ」アプリ(Totem)が落ちる

kushi3835 による投稿:

OSがUbuntu MATE 16.04で、ラズパイ3を使っております。

これはまたマニアックなところを、本当に初心者ですか? その辺は詮索しませんけど(笑)
 
結論を先に言いますが、このトラブルは直接的に対処出来ないと思います。
(同じ現象にまさに遭遇した人がいて、そちらでうまい解決方法を見出していれば別なんですが……)
 
 
1) ソースコードの検証結果
 
エラーメッセージ"Totem:ERROR:totem-grilo.c:729:browse_cb: code should not be reached"のtotem-grilo.cをファイル名、729を行番号としてソースコードを見てみました。
しかし、この箇所はエラーメッセージを挙げるところではないです。
"行番号だ"という解釈が間違っているのか、それともコード実態とズレかあるのか、その原因も分かりません。
 
行番号が当てにならないとして、ファイル名totem-grilo.cと、関数名らしきbrowse_cbを手がかりに見てみると、totem-grilo.cの関数browse_cbの中に以下のような箇所を見つけました。

コード:

    if (GRL_IS_MEDIA_IMAGE (media) ||
        GRL_IS_MEDIA_AUDIO (media)) {
        /* This isn't supposed to happen as we filter for videos */
        g_assert_not_reached ();
    }

 
このg_assert_not_reachedが呼ばれた可能性があります。
 
totemはgnomeフレームワークのアプリなのでglibを使っているのですが、その中のgtestutils.h( https://github.com/GNOME/glib/blob/master/glib/gtestutils.h )に"g_assert_not_reached"が記述されています。
このg_assert_not_reachedがなにをするかというと「本来このコード箇所が動いたらおかしいのに動いてるよ」を知らせるものです。
エラーメッセージにあった"code should not be reached"=「このコードのところに来るべきではない」とはそういう意味です。
 
browse_cb関数を呼び出しているのはgnomeのgrl_source_browse関数で、下記の通りリスト形式になったメディアを探索するものです。
>Browse from media elements through an available list.   ( https://developer.gnome.org/grilo/unstable/GrlSource.html#grl-source-browse )
リスト形式の複数メディアを探索していて、個々のメディアを調べてる内にg_assert_not_reachedを呼び出してしまっています。
g_assert_not_reachedの一行上のコメントには、"This isn't supposed to happen as we filter for videos"……「動画に限定しているので、こういうことは起こらないはずです」とあります。
このことから、リスト形式の複数メディアを探索しようとしその対象は動画だけに限定しているはずなのにIMAGE(静止画)やAUDIO(音声)が返却されてしまった状況と推測されます。
なぜそんなことが起こったのか直接の原因は分かりません。
 
 
2) 問題となっている事象はubuntuで現在バグ扱い
 
#1に書かれていた"Totem:ERROR:totem-grilo.c:729:browse_cb: code should not be reached"で検索すると概ね次の2件が引っかかります。
a) https://bugs.launchpad.net/ubuntu/+source/totem/+bug/1501049 totem crashed with assertion failure [Totem:ERROR:totem-grilo.c:729:browse_cb: code should not be reached]
b) https://bugs.launchpad.net/ubuntu/+source/totem/+bug/1571420 totem crashes on start up! [Totem:ERROR:totem-grilo.c:729:browse_cb: code should not be reached]
この2つ同じ事象を指摘しておりubuntuでは同じバグとして扱われて現状のステータスは"CONFIRMED"、バグとして確認されたが解決はしていません。
 
バグとして確認されているので、質問者の方以外にも多数この事象に遭遇していると思われますが、頻度は高くないというか、特定の条件または環境で起こる性質もので、メインルートにあるバグではなさそうです。
わたしもubuntu16.04LTSを使っていますが、totemの使用頻度が少ないのも相まってこの事象には遭遇していません。
 
 
3) 回避策
 
問題の事象の直接原因がわからないこと、本来動かないルートが動いていること、ubuntuでもバグ扱いになっていることから、直接の対応は取り得ないので回避策を考えてみます。
 
a) ubuntu MATEから別のdistroに変える
 
ご存知だと思いますが、raspberry Pi 3対応のubuntu MATEは、ubuntu-mate.org( https://ubuntu-mate.org/download/ )で告知されているように
>16.04.2 (Xenial)
>Bring the traditional desktop experience to your Raspberry Pi!
>Support ends soon - April 2019
となっているので、4月つまり来月(末)にはサポートが終了します。
※ ubnutu MATEのような派生フレーバーのLTSのサポート期間は3年なので2019で終了します(本家のubuntuのLTSはサポート期間5年なので16.04は2021までです)。
 
トラブルを起こしているtotemだけでなく、ubuntu MATE自体もこのまま使っていける状況ではないので、別のdistroに乗り換えるほうが得策と思います。
因みに、ubuntu MATEでは、Raspberry Pi向けに16.04(Xenial)より新しいものは出ていないようです。
 
b) 代替アプリを使う
 
totemは、ubuntu Desktopとして……というかgnome環境として標準アプリなのでまずはこれを使ってしまいます。
しかし、totem以外にもメディア再生アプリはあるのでそれを使うのも一つの方法だと思います。
raspberry用にバイナリバッケージがあるかどうかは未確認ですが次のようなものがあります。
- VLC Media Player
- KMPlayer
- SMPlayer
- mpv media player
 
c) totemを(可能ならOSはともかくもDesktopパッケージを)再インストールしてみる
 
おそらくubuntu MATEを使い始めた当初はtotemも問題無く動いていたと想像されます。
苦肉の策であり結果期待値が低いのですが、使い始めた当初の状態に戻せれば問題となる事象が起きなくなるやも知れません。
といっても確実性は無いし、その後の時間の経過で今の状態に至る可能性が大なので、良い方法ではありません。
 
 
4) その他
 
a) totem固有のログは記録されていないか?
 
・下記を調べましたが該当するものがありません。
  /var/log配下にtotem固有のログファイルがないか?
  /var/logの既存のログにtotemの挙動が記録されてないか?
 
b) totemをデバグモードのような形で起動して詳細な挙動を確認出来ないか?
 
・manでtotemを見てみたのですが、起動オプションにその類のものがありません。
・totem --help-all で指定出来る起動オブションの一覧が出るのですが、それにも該当するものがありません。
・totemのmanに以下の関係ファイルが出てきます。設定周りが保存されるのは三番目のstate.iniだと思いますが、デバグに関係する項目がありません。
  /usr/lib/totem/plugins/
  ~/.local/share/totem/plugins/
  ~/.config/totem/state.ini
・dconf list /org/gnome/Totem でtotem関係のセッテイングが確認出来ますが、設定出来るのは以下の2つでデバグ関係のものはありません。
  subtitle-encoding
  active-plugins
 
c) 過去に見た動画のリストをどこかに記録していないか?
 
1)のソースコードの検証結果で「問題の事象はリスト形式の複数メディアを探索している時起きた」と書いたのですが、#1に書かれた下記のことからすると、複数メディアがまとめられているメディアサーバーやDVDだけでなく、単体の動画ファイルの再生でも問題の事象が発生しているようです。

kushi3835 による投稿:

最近はDVDを再生したり、ビデオや音楽ファイルを再生するためにTotemを立ち上げるとすぐこうなってしまいます。

これって、過去に見た動画のリストがどこかに記録してあって、それをtotem起動時にサムネイルか過去に見たファイル一覧のように表示しようとしていて、その処理で問題事象が発生している可能性はないんでしょうか?
わたしの環境ではtotemの使用頻度が低いのでそういうものはなかったのですが、質問者の環境では左記のstate.iniなどに記録されていないでしょうか?
 
あまりいいアドバイスになっていませんが以上です。不明点は質問していただいて構いません。

オフライン

 

#5 2019-03-16 09:58:36

kushi3835
メンバ
登録日: 2019-01-19

Re: Ubuntuの「ビデオ」アプリ(Totem)が落ちる

kznj による投稿:

totemは、ubuntu Desktopとして……というかgnome環境として標準アプリなのでまずはこれを使ってしまいます。
しかし、totem以外にもメディア再生アプリはあるのでそれを使うのも一つの方法だと思います。
raspberry用にバイナリバッケージがあるかどうかは未確認ですが次のようなものがあります。
- VLC Media Player
- KMPlayer
- SMPlayer
- mpv media player

どうやらSMplayerが軽そうなので使ってみます。

kznj による投稿:

a) ubuntu MATEから別のdistroに変える
 
ご存知だと思いますが、raspberry Pi 3対応のubuntu MATEは、ubuntu-mate.org( https://ubuntu-mate.org/download/ )で告知されているように
>16.04.2 (Xenial)
>Bring the traditional desktop experience to your Raspberry Pi!
>Support ends soon - April 2019
となっているので、4月つまり来月(末)にはサポートが終了します。
※ ubnutu MATEのような派生フレーバーのLTSのサポート期間は3年なので2019で終了します(本家のubuntuのLTSはサポート期間5年なので16.04は2021までです)。
 
トラブルを起こしているtotemだけでなく、ubuntu MATE自体もこのまま使っていける状況ではないので、別のdistroに乗り換えるほうが得策と思います。
因みに、ubuntu MATEでは、Raspberry Pi向けに16.04(Xenial)より新しいものは出ていないようです。

ここで少し質問をさせていただきたいのですが、サポートが終了するということでUbuntu MATEのソフトウェアの更新から18.04 LTSにアップグレードしようと思っています。もし、アップグレードして動かなくなった場合、16.04にダウングレードってどうすればできるのでしょうか?

オフライン

 

#6 2019-03-16 19:23:59

kznj
メンバ
登録日: 2013-12-03

Re: Ubuntuの「ビデオ」アプリ(Totem)が落ちる

kushi3835 による投稿:

サポートが終了するということでUbuntu MATEのソフトウェアの更新から18.04 LTSにアップグレードしようと思っています。もし、アップグレードして動かなくなった場合、16.04にダウングレードってどうすればできるのでしょうか?

1) ubnutuでダウングレードはちょっと大変

windowsでは一部の条件を満たした時に、動いてるOSの上で操作して前のバージョンにダウングレード出来る場合があります。
- Windows10 から Windows7/8.1 に戻す方法 - ダウングレード( https://pc-karuma.net/windows-10-downgrade-windows-7-8-1/ )
- Windows のダウングレード( https://www.microsoft.com/ja-jp/business/windows/windowsdowngrade.aspx )
 
しかし、ubuntu(をはじめとしてlinux)ではこういう機能はないと思います。
そのためダウングレードするには次の2つの方法のいずれかを行います。
a) ダウングレード対象のバージョンで再インストールする
b) アップグレード前の状態をシステム全体(=インストールされているHDDなどまるごと)を複製しておいて、それを使用する
 
a)は言わずもがなですが、/home配下だけを別途バックアップしておいて再インストール後に復元すればユーザーの設定は存続させられると思います(ユーザー設定全てを活かすためには対応するアプリも全て再インストールする必要がありますが……)。
b)は、ddなどを使ってMBRなどのブートブロック含めてビットレベルで等価な複製HDDを予め作っておいて、ダウングレード時にそれに差し替える感じです。
これをHDDにインストールしているlinuxで行うのはHDDの複製作る段階で時間かかって大変なんですが、幸いというか質問者の方がraspberry Piを使われていてmicroSDでのブートのはずです。
microSDの複製をアップグレード前にやっておけば、そのメディアでブートすることでダウングレード出来ます。
といってもフォーマットしたmicroSDに関係ファイルをコピーしておくだけでは済まないので、下記のようなツールやddコマンドをを使う必要があります。
>SD Card CopyerでラズパイのSDカードを複製( https://qiita.com/ikemura23/items/4b7ab1af98045fa6516b )

2) raspberry Pi を18.04にアップグレード出来ますか?
 
ubuntu MATEのサイト( https://ubuntu-mate.org/download/ )を見る限りraspberry Pi用のインストールイメージが16.04だけだったので、18.04へのアップグレードもないと思っていたんですが、今現在raspberry Pi用のubuntuMATE16.04を使われていて「ubuntuの新しいリリース"xx.yy"が利用可能です」の通知が表示されますか?
こんな感じのものです [派生フレーバー ubuntu Studio 16.04 LTSでの例] http://pc.cd/Tqh
これが表示されるなら今お使いのraspberry Pi用ubuntuMATE 16.04から18.04にアップグレード出来ると思います(ubuntu-mate.orgで18.04系のraspberry Pi用のインストールイメージが出されないの単にイメージ作成が滞ってるだけでしょうか?)
 
その形でアップグレードした場合、raspberry PiがARMコアなのでカーネル周辺が18.04に対応したものになって、以下の形に似たものになるんでしょうか?興味あるところです。
  Ubuntu Server 18.04 LTS for ARM ( https://www.ubuntu.com/download/server/arm )
       +
  ubuntu MATE 16.04 Desktop(フレーバー) for ARM
 
以上です

オフライン

 

#7 2019-03-16 21:39:40

kushi3835
メンバ
登録日: 2019-01-19

Re: Ubuntuの「ビデオ」アプリ(Totem)が落ちる

なるほど。Ubuntu Serverですか。試してみたいと思います。どうもありがとうございました。

オフライン

 

#8 2019-03-17 09:43:32

taka.zoo.n
メンバ
登録日: 2013-05-30

Re: Ubuntuの「ビデオ」アプリ(Totem)が落ちる

ちょっと本題からは外れますがお許し下さい。

16.04 mate は 2019年4月で EOL になりますが、それは mate の package に限られます。16.04 armhf リポジトリにある canonical による package は 2021年4月までサポートされる、というのが私の理解です。具体的にどのパッケージが該当するかは ubuntu-support-status --show-supported で表示されます。このコマンドでは community support は 5 年と表示されますが、このうち mate によるものは 実際には3 年なのだと思います。

18.04 への upgrade は慎重に対処することをお勧めします。確かに mate 16.04 が動いている raspberry pi 3 に ssh で login すると
    New release '18.04.2 LTS' available.
    Run 'do-release-upgrade' to upgrade to it.
と表示されます。しかし自分で試したわけではありませんが、https://www.raspberrypi.org/forums/view … ;p=1371614
の最後から2番目のポストによれば do-release-upgrade はうまく動かないようです。私はそのページの最初のポストの手順を試みましたが日本語環境のせいかそのままではダメでした。環境変数や一部の package を upgrade 前に削除するなどして現在何とか 18.04 package + 4.19 kernel で「ある程度」動いていますが、2回ほど最初からやり直しました。もう一度位は最初からやり直すことになりそうな雲行きです。

もし試みるなら knj さんが #6 に書かれた 1b を強くお勧めします。また、16.04 の sd カードの複製を作った後、複製の方をアップグレードしたほうが作業をやり直すときに安心です。

話を totem に戻して、新しいユーザーを作ってそのユーザー環境で totem を実行した時に問題が再現するかどうかで、問題が個人環境に依るものかそうではない(totem の bug から disk free space が無くなったなどまでまだまだ広いですが)切り分けられます。

オフライン

 

#9 2019-03-18 06:52:01

Templer
メンバ
登録日: 2009-07-08

Re: Ubuntuの「ビデオ」アプリ(Totem)が落ちる

こちらも本題から外れてしまうのですが、放っておくと今後に影響ありそうですので。

kznj による投稿:

エラーメッセージ"Totem:ERROR:totem-grilo.c:729:browse_cb: code should not be reached"のtotem-grilo.cをファイル名、729を行番号としてソースコードを見てみました。
しかし、この箇所はエラーメッセージを挙げるところではないです。
"行番号だ"という解釈が間違っているのか、それともコード実態とズレかあるのか、その原因も分かりません。

このズレが生じているのはdebian/patchesが適用されていないからではないでしょうか?
ディストリビューションが提供するパッケージは「基本バージョンアップはしない」というのがほとんどです。ですが、バグや脆弱性対策としての修正は行っていますので、オリジナルとの差異というのは割と起きます。

kznj による投稿:

因みに、totemのpackageの情報はこちら( https://launchpad.net/ubuntu/+source/totem )から見ることが出来ます。
ソースコードのダウンロードも出来るので、ご自分で左記のエラーメッセージの該当コードの箇所を見ることも出来ます。

debパッケージのソースを得る場合は、適当な作業ディレクトリーで「 apt source パッケージ名 」をするのが簡単です(※)。debianアーカイブファイルがあれば展開し、また、debian/patchesが存在すればパッチを当ててくれます。(言うまでもなく、これはAPTラインの通ったパッケージに限定されますので、snap形式などには通じません。totemのsnap形式はなさそうですけど)
※ 「ソフトウェアとアップデート」アプリの「Ubuntu のソフトウェア」タブで「ソースコード」を有効にする必要があります。

よって、上で書かれている「 totem --version 」のようなバージョンナンバーの取得方法も、それはパッチの有無を示さず、どこ由来のパッケージなのかも示しませんし、また、Ubuntuでは(仕様が変わっていなければですが)セキュリティフィックスに関しては全ユーザーが一斉に更新可能となりますがバグフィックスの場合は一部のユーザーから順に更新可能とするスタイルですので、インストールされているパッケージのバージョンを確認しないで進めると話が噛み合わなくなることがあります。
つまり、Ubuntuソフトウェアからパッケージのバージョンを確認するほうが良いです。

オフライン

 

Board footer

Powered by FluxBB