Bug#314762: libgstreamer0.8-0: last update breaks amarok
Andreas Pakulat
Andreas Pakulat <apaku@gmx.de>, 314762@bugs.debian.org
Thu, 23 Jun 2005 20:02:48 +0200
--0F1p//8PRICkK4MW
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
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.
--0F1p//8PRICkK4MW
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=amarok_info1
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)]
--0F1p//8PRICkK4MW
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=amarok_info2
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,
engineName=@0xbf9a9770)
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}
--0F1p//8PRICkK4MW
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=amarok_info3
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
--0F1p//8PRICkK4MW--