On 23.Jun 2005 - 16:04:37, Loïc Minier wrote: > On Thu, Jun 23, 2005, Andreas Pakulat wrote: > > (process:8297): GStreamer-CRITICAL **: gst_object_check_uniqueness: > > assertion `name != NULL' failed > > (process:8297): GStreamer-WARNING **: Name (null) is not unique in bin > > pipeline0, not adding > > FÃHRE Leitung AUS ... > > (process:8297): GStreamer-WARNING **: pushing data on non-negotiated pad > > mad0:src, not allowed. > > Reading this upstream report: > <http://bugzilla.gnome.org/show_bug.cgi?id=167283> > with this fix: > <http://bugzilla.gnome.org/attachment.cgi?id=37433&action=view> > > makes me think that amarok is probably borken, if it arrives to such a > situation.
I hope you don't think that I got that last output from amarok. I executed the pipline you told me: gst-launch-0.8 filesrc location=<mp3file> ! spider ! audioscale ! audioconvert ! artsdsink So I don't see amarok do anything in this... But anyway, I'll attach the stuff I get from the following commands. > I propose we debug this together. Sure, no problem... > When you reach the break point, type "bt", > or even "thread apply all bt > full" in gdb, this will show you where the breakpoint was reached > (when the log was printed). Ok, I attach 3 files, the first one is the debug-output of amarok (via kdDebug()) telling some parameters used inside the GstEngine::init() function. The next file is the output of "thread apply all bt full" after the first break (just before the printing of GStreamer-CRITICAL **: gst_object_check_uniqueness: assertion `name != NULL' failed). The last one is the backtrace (again the full version) from the next reaching of the breakpoint. > This will permit us to pinpoint when amarok calls gstreamer with a NULL > pointer. It seems that amarok calls gst_init_check in the wrong way and also creates the pipeline not right... Andreas -- You love peace.
Information from amarok: amarok: [GstEngine::GstEngine()] amarok: amarok: PluginManager Service Info: amarok: --------------------------- amarok: name : Gstreamer-Treiber amarok: library : libamarok_gstengine_plugin amarok: desktopEntryPath : amarok_gstengine_plugin.desktop amarok: X-KDE-amaroK-plugintype : engine amarok: X-KDE-amaroK-name : gst-engine amarok: X-KDE-amaroK-authors : (Mark Kretschmann) amarok: X-KDE-amaroK-rank : 255 amarok: X-KDE-amaroK-version : 1 amarok: X-KDE-amaroK-framework-version: 5 amarok: amarok: BEGIN: virtual bool GstEngine::init() amarok: BEGIN: bool GstEngine::createPipeline() amarok: [Gst-Engine] Thread scheduling priority: 2 amarok: [Gst-Engine] Sound output method: artsdsink amarok: [Gst-Engine] CustomSoundDevice: false amarok: [Gst-Engine] Sound Device: amarok: [Gst-Engine] CustomOutputParams: false amarok: [Gst-Engine] Output Params: [Switching to Thread -1217427072 (LWP 21604)]
Backtrace before GStreamer-CRITICAL output: Thread 1 (Thread -1217427072 (LWP 21604)): #0 0xb6611f43 in g_log () from /usr/lib/libglib-2.0.so.0 No symbol table info available. #1 0xb6611fcc in g_return_if_fail_warning () from /usr/lib/libglib-2.0.so.0 No symbol table info available. #2 0xb67b8455 in gst_object_check_uniqueness () from /usr/lib/libgstreamer-0.8.so.1 No symbol table info available. #3 0xb67b9f5c in gst_bin_add_many () from /usr/lib/libgstreamer-0.8.so.1 No symbol table info available. #4 0xb67ba240 in gst_bin_add () from /usr/lib/libgstreamer-0.8.so.1 No symbol table info available. #5 0xb68dcc46 in GstEngine::createPipeline (this=0x88d90c0) at /home/andreas/compiling/amarok_deb/amarok-1.2.4/build-tree/amarok-1.2.4/amarok/src/engine/gst/gstengine.cpp:1038 uniquelyNamedStackAllocatedStandardBlock = {m_start = 1640000, m_label = 0xb68e91c0 "bool GstEngine::createPipeline()"} output = <incomplete type> err = (GError *) 0x2 #6 0xb68da558 in GstEngine::init (this=0x88d90c0) at /home/andreas/compiling/amarok_deb/amarok-1.2.4/build-tree/amarok-1.2.4/amarok/src/engine/gst/gstengine.cpp:292 uniquelyNamedStackAllocatedStandardBlock = {m_start = 1570000, m_label = 0xb68e8f60 "virtual bool GstEngine::init()"} dummy = (GstElement *) 0x0 #7 0x080d2144 in EngineController::loadEngine (this=0x81c4420, [EMAIL PROTECTED]) at /home/andreas/compiling/amarok_deb/amarok-1.2.4/build-tree/amarok-1.2.4/amarok/src/enginecontroller.cpp:171 bar = (struct QObject *) 0x81a2160 engine = (EngineBase *) 0x88d90c0 plugin = (struct Plugin *) 0x88d90e8 uniquelyNamedStackAllocatedStandardBlock = {m_start = 1560000, m_label = 0x81a1a80 "EngineBase* EngineController::loadEngine(const QString&)"} query = {d = 0x83d80c8} offers = {sh = 0x84ab1c8} #8 0x080d1adf in EngineController::loadEngine (this=0x81c4420) at /home/andreas/compiling/amarok_deb/amarok-1.2.4/build-tree/amarok-1.2.4/amarok/src/enginecontroller.cpp:105 uniquelyNamedStackAllocatedStandardBlock = {m_start = 1560000, m_label = 0x81a1a40 "EngineBase* EngineController::loadEngine()"} engineName = {d = 0x8389b10}
Backtrace after the first GStreamer-Critical: Thread 1 (Thread -1217427072 (LWP 21604)): #0 0xb6611f43 in g_log () from /usr/lib/libglib-2.0.so.0 No symbol table info available. #1 0xb67b9f97 in gst_bin_add_many () from /usr/lib/libgstreamer-0.8.so.1 No symbol table info available. #2 0xb67ba240 in gst_bin_add () from /usr/lib/libgstreamer-0.8.so.1 No symbol table info available. #3 0xb68dcc46 in GstEngine::createPipeline (this=0x88d90c0) at /home/andreas/compiling/amarok_deb/amarok-1.2.4/build-tree/amarok-1.2.4/amarok/src/engine/gst/gstengine.cpp:1038 uniquelyNamedStackAllocatedStandardBlock = {m_start = 1640000, m_label = 0xb68e91c0 "bool GstEngine::createPipeline()"} output = <incomplete type> err = (GError *) 0x2 #4 0xb68da558 in GstEngine::init (this=0x88d90c0) at /home/andreas/compiling/amarok_deb/amarok-1.2.4/build-tree/amarok-1.2.4/amarok/src/engine/gst/gstengine.cpp:292 uniquelyNamedStackAllocatedStandardBlock = {m_start = 1570000, m_label = 0xb68e8f60 "virtual bool GstEngine::init()"} dummy = (GstElement *) 0x10