2016-04-11 19 views
0

私はKurento 6.4.0とカスタムフィルタを使用しています。私は、Firefoxブラウザーでうまく動作するグループ呼び出し例の修正バージョンを試していますが、Chromeブラウザーバージョン49.0.2623.75(64ビット)に接続するとKMSがクラッシュします。Kurento 6.4.0 for Chromeバージョン49.0.2623.75(64ビット)

(kurento-media-server:13579): GStreamer-CRITICAL **: gst_debug_log_valist: assertion 'category != NULL' failed 
[31;1mSegmentation fault [0m (thread [33;1m140298602628864 [0m, pid [33;1m13579 [0m) 
Stack trace: 
[34;1m[gst_mini_object_unref] [0m 
/usr/lib/x86_64-linux-gnu/libgstreamer-1.5.so.0 [32;1m:0x6A230 [0m 
[34;1m[kurento::module::vadcustomfilter::VADCustomFilterImpl::~VADCustomFilterImpl()] [0m 
/usr/lib/x86_64-linux-gnu/libkmsvadcustomfilterimpl.so.0 [32;1m:0x140EA [0m 
[34;1m[kurento::module::vadcustomfilter::VADCustomFilterImpl::~VADCustomFilterImpl()] [0m 
/usr/lib/x86_64-linux-gnu/libkmsvadcustomfilterimpl.so.0 [32;1m:0x14439 [0m 
[34;1m[std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release()] [0m 
/usr/lib/x86_64-linux-gnu/libkmscoreimpl.so.6 [32;1m:0x8E279 [0m 
[34;1m[std::_Function_handler<void(), std::_Bind<void (*(kurento::MediaObjectImpl*, std::string))(kurento::MediaObjectImpl*, std::string)> >::_M_invoke(std::_Any_data const&)] [0m 
/usr/lib/x86_64-linux-gnu/libkmscoreimpl.so.6 [32;1m:0x94449 [0m 
[34;1m[boost::asio::detail::completion_handler<std::function<void()> >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long)] [0m 
/usr/lib/x86_64-linux-gnu/libkmscoreimpl.so.6 [32;1m:0x94BF0 [0m 
[34;1m[boost::asio::detail::task_io_service::run(boost::system::error_code&)] [0m 
/usr/lib/x86_64-linux-gnu/libkmscoreimpl.so.6 [32;1m:0xA1C9F [0m 
[34;1m[kurento::WorkerPool::StaticConstructor::StaticConstructor()] [0m 
/usr/lib/x86_64-linux-gnu/libkmscoreimpl.so.6 [32;1m:0x9C6AB [0m 
[34;1m[std::thread::_Impl<std::_Bind_simple<std::_Bind<void (*(boost::shared_ptr<boost::asio::io_service>))(boost::shared_ptr<boost::asio::io_service>)>()> >::_M_run()] [0m 
/usr/lib/x86_64-linux-gnu/libkmscoreimpl.so.6 [32;1m:0xA04B8 [0m 
[34;1m[std::this_thread::__sleep_for(std::chrono::duration<long, std::ratio<1l, 1l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)] [0m 
/usr/lib/x86_64-linux-gnu/libstdc++.so.6 [32;1m:0xB1A40 [0m 
[34;1m[start_thread] [0m 
/build/buildd/eglibc-2.19/nptl/pthread_create.c [32;1m:312 (discriminator 2) [0m 
[34;1m[clone] [0m 
sysdeps/unix/sysv/linux/x86_64/clone.S [32;1m:113 [0m 

ブラウザーのバージョンに問題があるか、このクラッシュを引き起こしている私のKMSフィルタに問題がある:以下

は、ログファイルからの誤差はありますか?

編集1:ブラウザのコンソール上

エラー:

local candidate{"candidate":"candidate:2695668549 1 tcp 1518280447 172.24.12.10 9 typ host tcptype active generation 0 ufrag K1UwPCWKobEHgN2y","sdpMid":"audio","sdpMLineIndex":0} 

conferenceroom.js:398 Senging message: {"id":"onIceCandidate","candidate":{"candidate":"candidate:2695668549 1 tcp 1518280447 172.24.12.10 9 typ host tcptype active generation 0 ufrag K1UwPCWKobEHgN2y","sdpMid":"audio","sdpMLineIndex":0},"name":"someone"} 

conferenceroom.js:399 WebSocket is already in CLOSING or CLOSED state.sendMessage @ conferenceroom.js:399Participant.onIceCandidate @ participant.js:198EventEmitter.emit @ kurento-utils.js:531(anonymous function) @ kurento-utils.js:166 

答えて

1

問題は、それはおそらく既にリリースされて何かをUNREFしようとするあなたのVADCustomFilterImplのデストラクタにあるようです。

編集:あなたは、将来のプロセスのためのバッファを保存している場合、あなたはそれを解放するために行われたときに

、あなたが記憶しつつgst_buffer_refgst_buffer_unrefを呼び出す必要があります。

+0

デストラクタを確認しました。競合状態があるようです。私はunref/NULLを取得するgst_bufferを扱っています。競争状態を避ける方法はありますか? –

+0

どのようにバッファを使用しているかによって異なります。一般的に、バッファを保持する場合は、参照を増やす必要があります。 – santoscadenas

+0

大丈夫、gst_bufferのrefcountを取得するために使用できる方法はありますか? –

関連する問題