Amarok broken on latest dapper -> Invalid Pointer

Bug #26018 reported by Christophe Dumez
12
Affects Status Importance Assigned to Milestone
amarok (Ubuntu)
Fix Released
Medium
Stephan Rügamer

Bug Description

Amarok was working fine until I updated this evening. I'm using latest Dapper on
amd64 and now Amarok-xine is freezing when I try to play a mp3.
I'll join a backtrace.

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

Created an attachment (id=5016)
amarok backtrace

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

I tried amarok-gstreamer and I get the same 'invalid pointer' error.

Revision history for this message
Andreas Simon (andreas-w-simon) wrote :
Download full text (4.5 KiB)

The same here on x86 and gstreamer-backend:

Program received signal SIGABRT, Aborted.
[Switching to Thread -1249392928 (LWP 1249)]
0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6f5e9b1 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb6f602c9 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb6f926ea in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6
#4 0xb6f98f54 in malloc_trim () from /lib/tls/i686/cmov/libc.so.6
#5 0xb6f992ca in free () from /lib/tls/i686/cmov/libc.so.6
#6 0xb713e7a1 in operator delete () from /usr/lib/libstdc++.so.6
#7 0x081400ef in std::_List_base<TagLib::String, std::allocator<TagLib::String>
>::_M_clear ()
#8 0xb7425938 in TagLib::List<TagLib::String>::~List () from /usr/lib/libtag.so.1
#9 0xb742543a in TagLib::StringList::~StringList () from /usr/lib/libtag.so.1
#10 0xb740d1dc in
TagLib::ID3v2::TextIdentificationFrame::~TextIdentificationFrame () from
/usr/lib/libtag.so.1
#11 0x080d4027 in TagLib::List<TagLib::ID3v2::Frame*>::~List ()
#12 0xb7404f34 in TagLib::ID3v2::Tag::~Tag () from /usr/lib/libtag.so.1
#13 0xb7400958 in TagLib::MPEG::File::~File () from /usr/lib/libtag.so.1
#14 0xb73ff8ba in TagLib::FileRef::~FileRef () from /usr/lib/libtag.so.1
#15 0x0813e034 in endl ()
#16 0x0813e364 in endl ()
#17 0x0815ff8a in QToolButton::metaObject ()
#18 0x081692fd in QToolButton::metaObject ()
#19 0xb69ff6d1 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#20 0xb6da34f3 in QListView::doubleClicked () from /usr/lib/libqt-mt.so.3
#21 0xb7afe4fc in KListView::contentsMouseDoubleClickEvent () from
/usr/lib/libkdeui.so.4
#22 0xb6b32615 in QScrollView::viewportMouseDoubleClickEvent () from
/usr/lib/libqt-mt.so.3
#23 0xb6b3512a in QScrollView::eventFilter () from /usr/lib/libqt-mt.so.3
#24 0xb6af990b in QListView::eventFilter () from /usr/lib/libqt-mt.so.3
#25 0x081658cc in QToolButton::metaObject ()
#26 0xb69fc81a in QObject::activate_filters () from /usr/lib/libqt-mt.so.3
#27 0xb69fc898 in QObject::event () from /usr/lib/libqt-mt.so.3
#28 0xb6a39d7a in QWidget::event () from /usr/lib/libqt-mt.so.3
#29 0xb6995e24 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#30 0xb69963a4 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#31 0xb79033f7 in KApplication::notify () from /usr/lib/libkdecore.so.4
#32 0xb692682f in QApplication::sendSpontaneousEvent () from /usr/lib/libqt-mt.so.3
#33 0xb6921d17 in QETWidget::translateMouseEvent () from /usr/lib/libqt-mt.so.3
#34 0xb6920062 in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#35 0xb6939b3b in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#36 0xb69ae713 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#37 0xb69ae636 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#38 0xb6994ab7 in QApplication::exec () from /usr/lib/libqt-mt.so.3

It also freezes when trying to "update collection":
** glibc detected *** free(): invalid pointer: 0x088d0318 ***

Program received signal SIGABRT, Aborted.
[Switching to Thread -1254696016 (LWP 1269)]
0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6e9b9b1 in raise () from /lib/tls/i686/cmov/li...

Read more...

Revision history for this message
Stephan Rügamer (sruegamer) wrote :

It looks like that this is mentioned upstream:

http://bugs.kde.org/show_bug.cgi?id=115339

Can you catch the 1.3.6 source package and compile it with --enable-debug (or similar), to recheck if this happens
again?

Sadly I don't have an amd64...so I can't check.

Thx for your bugreport.

\sh

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

Well, I'd like to but I can't build Amarok because of missing dependencies.

#> /home/chris/amarok/amarok-1.3.6# dpkg-buildpackage
dpkg-buildpackage: source package is amarok
dpkg-buildpackage: source version is 2:1.3.6-1ubuntu1
dpkg-buildpackage: source changed by Stephan Hermann <email address hidden>
dpkg-buildpackage: host architecture amd64
dpkg-checkbuilddeps: Unmet build dependencies: cdbs (>= 0.4.21) debhelper (>> 4.1.0) automake1.9 libtool kdelibs4-dev (>=
4:3.2) kdemultimedia-dev (>= 4:3.4.2) kdebase-dev (>= 4:3.4.2) libgstreamer0.8-dev libgstreamer-plugins0.8-dev
libmysqlclient14-dev libpq-dev libtag1-dev (>> 1.3.1) libxine-dev (>= 1-rc4) libsqlite3-dev xmms-dev libtunepimp2-dev (>=
0.3.0-2.1)
dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: (Use -d flag to override.)

#> /home/chris/amarok/amarok-1.3.6# apt-get build-dep amarok
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
E: Les dépendances de compilation pour amarok ne peuvent pas être satisfaites.
(traduction: "building dependencies for amarok can't be statisfied.")

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

And I'm not sure the bug reported upstream is the same. That bug report doesn't report any invalid pointer error and it
isn't specific to v1.3.6 (whereas my bug appeared with v1.3.6).

Moreover, my bug may not be amd64 specific since Andreas Simon reported it on x86 too.

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

And I forgot to say that the bug reported upstream occurs even if you don't play any song. However, my bug occur only if I
try to play a song.

Revision history for this message
Stephan Rügamer (sruegamer) wrote :

(In reply to comment #5)
> Well, I'd like to but I can't build Amarok because of missing dependencies.
>
> #> /home/chris/amarok/amarok-1.3.6# dpkg-buildpackage
> dpkg-buildpackage: source package is amarok
> dpkg-buildpackage: source version is 2:1.3.6-1ubuntu1
> dpkg-buildpackage: source changed by Stephan Hermann <email address hidden>
> dpkg-buildpackage: host architecture amd64
> dpkg-checkbuilddeps: Unmet build dependencies: cdbs (>= 0.4.21) debhelper (>> 4.1.0) automake1.9 libtool kdelibs4-dev
(>=
> 4:3.2) kdemultimedia-dev (>= 4:3.4.2) kdebase-dev (>= 4:3.4.2) libgstreamer0.8-dev libgstreamer-plugins0.8-dev
> libmysqlclient14-dev libpq-dev libtag1-dev (>> 1.3.1) libxine-dev (>= 1-rc4) libsqlite3-dev xmms-dev libtunepimp2-dev
(>=
> 0.3.0-2.1)
> dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting.
> dpkg-buildpackage: (Use -d flag to override.)
>
> #> /home/chris/amarok/amarok-1.3.6# apt-get build-dep amarok
> Lecture des listes de paquets... Fait
> Construction de l'arbre des dépendances... Fait
> E: Les dépendances de compilation pour amarok ne peuvent pas être satisfaites.
> (traduction: "building dependencies for amarok can't be statisfied.")
>

Yeah, right now it's a bit messy...

I hope this problem is being resolved later this day.

Regards,

\sh

Revision history for this message
Stephan Rügamer (sruegamer) wrote :

(In reply to comment #6)
> And I'm not sure the bug reported upstream is the same. That bug report doesn't report any invalid pointer error and
it
> isn't specific to v1.3.6 (whereas my bug appeared with v1.3.6).
>
> Moreover, my bug may not be amd64 specific since Andreas Simon reported it on x86 too.

Well...I'm just listing to a mp3 radio stream...and amarok 1.3.6 runs and runs.
Let me see, if I find some mp3 file...

\sh

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

Hey you're right : Radio streams are working here (using xine since gstreamer is bugued on amd64) :D But mp3 files make
amarok crashs.

Revision history for this message
Andreas Simon (andreas-w-simon) wrote :

I've added --enable-debug=full to DEB_CONFIGURE_EXTRA_FLAGS in debian/rules
and recompiled amarok_1.3.6-1ubuntu1 (I had no dependency problems like
Christophe Dumez in comment #5.

But Nothing changed, I still get the same error and exactly the same backtrace
with gdb. And like mentioned in comment #7 I only get the problem if I try to
play or update/create the collection.

BTW, listining to audio streams works.
The problem also occurs not only when playing mp3 but also for ogg files.

It seems Amarok has some bad pointer usage which gets detected by glibc
which abborts then the respective process:
*** glibc detected *** free(): invalid pointer: 0x08aad748 ***

Revision history for this message
Andreas Simon (andreas-w-simon) wrote :

Okay, looking at the backtrace it seems libtag is somewhat involved in
this bad pointer magic.

I just recompiled libtag1c2_1.4-2 (without any patches or changes)
on current dapper and the bug is gone here.

Revision history for this message
Stephan Rügamer (sruegamer) wrote :

(In reply to comment #12)
> Okay, looking at the backtrace it seems libtag is somewhat involved in
> this bad pointer magic.
>
> I just recompiled libtag1c2_1.4-2 (without any patches or changes)
> on current dapper and the bug is gone here.
>

Ah...so I catched with the last upload somehow the new allocator change :)

We'll have to rename the libtag package anyways...give me some time :)

regards,

\sh

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

It's fixed on my computer ! Thanks :)

Revision history for this message
Andreas Simon (andreas-w-simon) wrote :

Yes, the error is gone with the new amarok and libtag packages in dapper.
amarok_1.3.7-0ubuntu1
libtag1c2a_1.4-2ubuntu1

Revision history for this message
Jonathan Riddell (jr) wrote :

Fixed in 1.3.7

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.