mediatomb不具合

dvd-iso を再生しようとするとmediatomb プロセスが落ちる。

Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb0a70b90 (LWP 2889)]
0xffffe430 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb7012460 in raise () from /lib/libc.so.6
#2  0xb7013e28 in abort () from /lib/libc.so.6
#3  0xb724c628 in __gnu_cxx::__verbose_terminate_handler ()
   from /usr/lib/libstdc++.so.6
#4  0xb724a515 in ?? () from /usr/lib/libstdc++.so.6
#5  0xb724a552 in std::terminate () from /usr/lib/libstdc++.so.6
#6  0xb724b1e5 in __cxa_pure_virtual () from /usr/lib/libstdc++.so.6
#7  0x0812d051 in ThreadExecutor::staticThreadProc (arg=0x82761a8)
    at ../src/thread_executor.cc:83
#8  0xb74fa51f in start_thread () from /lib/libpthread.so.0
#9  0xb70cb04e in clone () from /lib/libc.so.6
(gdb)

    80 void *ThreadExecutor::staticThreadProc(void *arg)
    81 {
    82     ThreadExecutor *inst = (ThreadExecutor *)arg;
    83     inst->threadProc();
    84     pthread_exit(NULL);
    85     return NULL;
    86 }

    53 void ThreadExecutor::startThread()
    54 {
    55     threadRunning = true;
    56     pthread_create(
    57         &thread,
    58         NULL, // attr
    59         ThreadExecutor::staticThreadProc,
    60         this
    61     );
    62 }

ソースからのインストールの問題

ブラウザによるアクセスができなかった。
原因は sqlite3 db が存在しない場合の作成時にデッドロックしているっぽい。
原因調査は面倒だったので、正常に動作するrpm 版の mediatomb で sqlite3 db
を作成し(/etc/mediatomb/mediatomb.db)とっておき、rpm 版を一度アンインストール。
make install でソース版インストール後、とっておいた sqlite3 db を戻すことで
回避できた。
以下、そのときのログ。/var/log/mediatomb
2011-05-18 10:41:43 WARNING: Sqlite3 database seems to be corrupt or doesn't exi
st yet.
    • これ以降が表示されない。
2011-05-18 10:41:43    INFO: no sqlite3 backup is available or backup is corrupt
. automatically creating database...
2011-05-18 10:41:43    INFO: database created successfully.
2011-05-18 10:41:43    INFO: Initialized port: 50500
2011-05-18 10:41:43    INFO: Server bound to: 192.168.11.9
2011-05-18 10:41:44    INFO: MediaTomb Web UI can be reached by following this link:
2011-05-18 10:41:44    INFO: http://192.168.11.9:50500/

(gdb) bt
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb71d3d99 in __lll_lock_wait () from /lib/libpthread.so.0
#2  0xb71cf149 in _L_lock_89 () from /lib/libpthread.so.0
#3  0xb71cea52 in pthread_mutex_lock () from /lib/libpthread.so.0
#4  0x080d5a3d in MutexAutolock (this=0x81c46f8, mutex={_ptr = 0xbfcbb050},
    unlocked=false) at ../src/sync.cc:190
#5  0x080c08a1 in Mutex::getAutolock (unlocked=<value optimized out>,
    this=<value optimized out>) at ../src/sync.h:85
#6  SQLStorage::flushInsertBuffer (this=0x81b0598, dontLock=false)
    at ../src/storage/sql_storage.cc:2366
#7  0x080c097a in SQLStorage::shutdown (this=0x81b0598)
    at ../src/storage/sql_storage.cc:193
#8  0x080b1af8 in Sqlite3Storage::init (this=0x81b0598)
    at ../src/storage/sqlite3/sqlite3_storage.cc:162
#9  0x080ae2a1 in Storage::getInstance () at ../src/storage.cc:63
#10 0x080a7a44 in Server::upnp_init (this=0x81b0568, iface={base = 0x81b0540},
    ip_address={base = 0x0}, port=50501) at ../src/server.cc:164
#11 0x0804e3e9 in main (argc=Cannot access memory at address 0x80) at ../src/main.cc:552
(gdb)

./configure の以下のエラーのせい?
configure: WARNING: Automatic database creation not possible due to missing zlib headers/libraries
zlib-devel をインストールして、再configure
⇒ 上記のWARNはでなくなった。
⇒ この問題も発生しなくなった。


動画ファイル(mtsファイル)+".moff"というファイル名が同一ディレクトリにある場合、そのディレクトリ内のファイルは1つしか認識しない。

coLinux + mediatomb + PMB という組み合わせで使っていたところ、PMB は動画ファイルと同一
ディレクトリに .moff というファイルを作成する。
このファイルがあると、mediatomb はそのディレクトリ内のファイルを1つしか認識せず、
DLNAクライアントに1つしか通知しない。
mediatombの内部DBにも1つしか登録されていないため、内部DB登録時の不具合だと思う。
最終更新:2011年05月29日 10:11
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。