Bug 1043259

Summary: Rhythmbox sometimes dies with SIGABRT when switching between tracks
Product: [Fedora] Fedora Reporter: Aurimas Černius <aurisc4>
Component: rhythmboxAssignee: Bastien Nocera <bnocera>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: awilliam, bnocera, mcatanzaro+wrong-account-do-not-cc, selinux
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rhythmbox-3.0.1-2.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-28 23:39:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
A track that causes this bug none

Description Aurimas Černius 2013-12-15 13:19:30 UTC
Description of problem:
This happens with certain tracks, I have identified a couple that give me 100% crash when played (regardless if I start rhythmbox and start a track, or switch to it from another).


Version-Release number of selected component (if applicable):
3.0 (from Fedora 20 repo)


How reproducible:
All the time with certain tracks, no idea though, what's so special about them.


Stack trace:

(rhythmbox:5383): GdkPixbuf-CRITICAL **: gdk_pixbuf_scale_simple: assertion 'dest_width > 0' failed
[New Thread 0x7fffcb7fd700 (LWP 5414)]
**
Gdk:ERROR:gdkcairo.c:193:gdk_cairo_surface_paint_pixbuf: assertion failed: (cairo_image_surface_get_format (surface) == CAIRO_FORMAT_RGB24 || cairo_image_surface_get_format (surface) == CAIRO_FORMAT_ARGB32)

Program received signal SIGABRT, Aborted.
0x0000003cec835c59 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x0000003cec835c59 in raise () from /lib64/libc.so.6
#1  0x0000003cec837368 in abort () from /lib64/libc.so.6
#2  0x0000003ceec500ed in _g_log_abort () from /lib64/libglib-2.0.so.0
#3  0x0000003ceec6dc97 in g_assertion_message () from /lib64/libglib-2.0.so.0
#4  0x0000003ceec6dcfa in g_assertion_message_expr () from /lib64/libglib-2.0.so.0
#5  0x0000003cfd420dce in gdk_cairo_surface_paint_pixbuf () from /lib64/libgdk-3.so.0
#6  0x0000003cfd42142a in gdk_cairo_set_source_pixbuf () from /lib64/libgdk-3.so.0
#7  0x0000003cffcb31af in prepare_image () from /lib64/librhythmbox-core.so.8
#8  0x0000003cffcb332d in render_current () from /lib64/librhythmbox-core.so.8
#9  0x0000003cffcb3e94 in rb_fading_image_set_pixbuf () from /lib64/librhythmbox-core.so.8
#10 0x0000003cffc9dd76 in art_cb () from /lib64/librhythmbox-core.so.8
#11 0x0000003cffc934a0 in load_request_cb () from /lib64/librhythmbox-core.so.8
#12 0x0000003cf006f787 in g_simple_async_result_complete () from /lib64/libgio-2.0.so.0
#13 0x0000003cf006f809 in complete_in_idle_cb_for_thread () from /lib64/libgio-2.0.so.0
#14 0x0000003ceec492a6 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#15 0x0000003ceec49628 in g_main_context_iterate.isra.24 () from /lib64/libglib-2.0.so.0
#16 0x0000003ceec496dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#17 0x0000003cf009c954 in g_application_run () from /lib64/libgio-2.0.so.0
#18 0x0000003cffc44cd5 in rb_application_run () from /lib64/librhythmbox-core.so.8
#19 0x0000000000400f82 in main ()

Comment 1 Adam Williamson 2013-12-16 05:11:06 UTC
are you able / legally allowed to post the specific tracks that cause the crash somewhere for the devs? it would likely make it much easier to reproduce this.

there's image-related code in the traceback; a wild guess that leaps to mind is that this is to do with the cover art. do the affected tracks have cover art?

Comment 2 Aurimas Černius 2013-12-17 21:02:43 UTC
Created attachment 837968 [details]
A track that causes this bug

Hopefully I have one that's freely distributable and causes this bug.

Comment 3 Tom London 2013-12-24 18:28:20 UTC
I'm seeing this also with a freshly downloaded (and purchases) mp3 from Amazon:

22 - Wedding Song (There Is Love).mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 256 kbps, 44.1 kHz, Stereo

I get the same error spew and similar stack trace.

Yes, I believe there is album art.

The track plays without issue with clementine-1.1.1-10.fc21.x86_64 (and it displays the album cover).

The id3v2 tags shows an APIC tag:

     APIC (Attached picture): ()[, 3]: image/jpeg, 217447 bytes

Guessing that is the album art.?

Don't believe I can post the track.... Anything more I can post?

Comment 4 Tom London 2013-12-24 18:28:57 UTC
Forgot version info:

rhythmbox-3.0.1-1.fc21.x86_64

Comment 5 Adam Williamson 2013-12-24 19:05:45 UTC
It might be a good idea to also report this upstream to http://bugzilla.gnome.org/ , just in case it gets picked up faster there.

Comment 6 Tom London 2013-12-25 16:48:39 UTC
bugzilla.gnome.org may have a patch for this already: https://bugzilla.gnome.org/show_bug.cgi?id=710493

I'll see if I can locally build/test...

Comment 7 Tom London 2013-12-25 17:33:13 UTC
Locally installed rhythmbox source package, ran 'rpmbuild -bp', manually applied the change to the one file, and ran 'rpmbuild --short-circuit -bc'.

I ran '~/rpmbuild/BUILD/rhythmbox-3.0.1/.libs/rhythmbox', selected the offending track and success: it plays without crashing.

Comment 8 Adam Williamson 2013-12-26 17:12:10 UTC
"Locally installed rhythmbox source package, ran 'rpmbuild -bp', manually applied the change to the one file, and ran 'rpmbuild --short-circuit -bc'."

!!!

you know you can apply patches in package builds, right? :P

"I ran '~/rpmbuild/BUILD/rhythmbox-3.0.1/.libs/rhythmbox', selected the offending track and success: it plays without crashing."

Sounds promising. I can do a backport of the fix later today most likely, gotta go Boxing Day shopping in a minute...

Comment 9 Fedora Update System 2013-12-26 18:10:27 UTC
rhythmbox-3.0.1-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/rhythmbox-3.0.1-2.fc20

Comment 10 Aurimas Černius 2013-12-27 19:06:13 UTC
> rhythmbox-3.0.1-2.fc20 has been submitted as an update for Fedora 20.
> https://admin.fedoraproject.org/updates/rhythmbox-3.0.1-2.fc20

Just installed this update. Seems to work nicely!

Comment 11 Adam Williamson 2013-12-27 22:06:46 UTC
if you have a FAS account, could you leave positive feedback on the update? If two people do that, it'll head out to the stable updates repo. Otherwise it'll have to wait a week before I can push it out manually.

Comment 12 Fedora Update System 2013-12-28 02:13:59 UTC
Package rhythmbox-3.0.1-2.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing rhythmbox-3.0.1-2.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-24046/rhythmbox-3.0.1-2.fc20
then log in and leave karma (feedback).

Comment 13 Fedora Update System 2013-12-28 23:39:16 UTC
rhythmbox-3.0.1-2.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 14 Michael Catanzaro 2013-12-30 17:05:33 UTC
FYI this update was really bad: see Bug #1047018 and the count at [1] :/

[1] https://retrace.fedoraproject.org/faf/reports/309912/

Comment 15 Adam Williamson 2013-12-30 17:28:48 UTC
i'm sending out the fix for that. pity the first two people to file karma didn't catch it.