GNOME Bugzilla – Bug 343443
Crash while importing folder
Last modified: 2007-09-30 09:59:41 UTC
Distribution: Debian testing/unstable Package: rhythmbox Severity: normal Version: GNOME2.14.1 0.9.4.1 Gnome-Distributor: Debian Synopsis: Crash while importing directory Bugzilla-Product: rhythmbox Bugzilla-Component: Importing Bugzilla-Version: 0.9.4.1 BugBuddy-GnomeVersion: 2.0 (2.14.1) Description: Description of the crash: Crashes abruptly while in the middle of importing from a directory. Steps to reproduce the crash: 1. Give a directory to import from. 2. Wait 3. Expected Results: It will quite likely crash after some number of albums How often does this happen? Quite often, when importing large directories (many files) Additional Information: This crash was importing all ogg files, but i don't think that matters as i've had it crash when importing both mp3 and flac files. 10 albums, 7 artists were in the database after restarting, although it seemed like it had imported substantially more than that before it crashed. Debugging Information: Backtrace was generated from '/usr/bin/rhythmbox' (no debugging symbols found) Using host libthread_db library "/lib/tls/libthread_db.so.1". (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1496316224 (LWP 6847)] [New Thread -1529672784 (LWP 6855)] [New Thread -1502958672 (LWP 6848)] (no debugging symbols found) 0xa7b93221 in __waitpid_nocancel () from /lib/tls/libpthread.so.0
+ Trace 68548
Thread 1 (Thread -1496316224 (LWP 6847))
------- Bug created by bug-buddy at 2006-05-30 21:25 -------
The crash appears to be somewhere inside gtk/gdk, which is odd. If you run rhythmbox in an xterm, are there any messages printed? Can you try using a different gtk theme?
I changed back to a default Gnome theme, deleted my rhythmbox database, and then ran the program from the shell. Unfortunately, i was unable to reproduce a crash because i was unable to reimport any significant amount of audio in one operation (see bug 343850, which i submitted in relation to this). I will reattempt this when i figure out how to specify a directory which will result in rhythmbox actually importing music from the directories within that directory.
You can probably work around bug 343850 by running 'chmod 755 /music/lost+found' as root before importing /music, then 'chmod 700 /music/lost+found' afterwards.
I effected this workaround and import was able to proceed. After importing some number of files the application abruptly crashed. I had run rhythmbox from a shell, however there was no indication at all (message-wise) of a crash. And no stack-trace was generated (no pop-up asking if i wanted to file a bug report). I have no idea why this crash behaved differently than prior ones in this respect. However, with default Gnome theme, rhythmbox still crashes (for me) when importing a large (but not tremendously large) number of files.
Can you try running rhythmbox under gdb to get a stack trace with the default theme? See http://live.gnome.org/GettingTraces if you need information on how to do that.
Ran under gdb and recorded the following coincident with Rhythmbox crashing. Before the crash there was a great deal of spawning off and killing of threads (in approx. groups of 10 threads at a time). [New Thread -1525974096 (LWP 7251)] [New Thread -1534362704 (LWP 7252)] [New Thread -1557136464 (LWP 7253)] [New Thread -1590690896 (LWP 7254)] [New Thread -1599079504 (LWP 7255)] [New Thread -1615856720 (LWP 7256)] [New Thread -1624245328 (LWP 7257)] [New Thread -1632633936 (LWP 7258)] ---Type <return> to continue, or q <return> to quit--- Program received signal SIGPIPE, Broken pipe.
+ Trace 68686
Thread NaN (LWP 5457)
I started playing a song after the import had been underway for some time. The "type <return>..." message then appeared coincident with the "crash" (no more rhythmbox screen refresh) and the song stopping playing. I pressed return, it showed me the SIGPIPE message, and so i entered "c", thinking that a SIGPIPE might normally have just gone through unnoticed, if not for running inside gdb, and that maybe this wasn't a real crash. Upon continuing, a little snippet of the song played for another second, but apparently things were pretty hosed at that point, because a further "c" didn't result in any further program execution... although now that i think of it, maybe i need to switch to a different thread. Anyway, the stack trace isn't very helpful and the command suggested at the "Getting Traces" link ("thread apply all bt") didn't work. Again, maybe because i was now trying to run a dead thread. So i just tried, "info threads", which shows: (gdb) info threads Couldn't get registers: No such process. (gdb) So, i guess there isn't any more to be gotten from this process.
Same happens to me. 1) I set my music directory and the "watch for changes" option. 2) Rhythmbox began to collect the music and crashed after some time. In the console, there were no useful messages except the Segfault. gdb backtrace:
+ Trace 68945
Thread 1 (Thread -1226402112 (LWP 5525))
Sorry, I forgot to mention the version: Rhythmbox 0.9.3.1 And here the whole backtrace (the previous one is incomplete):
+ Trace 68946
Thread 2 (Thread -1241642064 (LWP 5529))
Richard, that seems to be an unrelated crash in a GStreamer typefind function. If you could identify the file that causes the problem and make the first ~60kB available, we can figure out if this has already been fixed in GStreamer and open a new bug there if necessary. I am still completely mystified as to the cause of the original reported crash.
The original stacktrace actually is very similar to the one in bug 346445, which is a crash in the GTK theme engine. This probably is a bug in gtk-engines / libsmooth. Also, please note that this bug as well as bug 346445 and its duplicate all are crashing rhythmbox. Didn't find any other similar stacktraces. So, rythmbox probably does something unusual with the widgets... ;)
*** Bug 353992 has been marked as a duplicate of this bug. ***
*** Bug 354012 has been marked as a duplicate of this bug. ***
*** Bug 355140 has been marked as a duplicate of this bug. ***
*** Bug 362253 has been marked as a duplicate of this bug. ***
*** Bug 362577 has been marked as a duplicate of this bug. ***
*** Bug 362722 has been marked as a duplicate of this bug. ***
confirming as per duplicates.
*** Bug 365861 has been marked as a duplicate of this bug. ***
*** Bug 366304 has been marked as a duplicate of this bug. ***
*** Bug 367330 has been marked as a duplicate of this bug. ***
*** Bug 367634 has been marked as a duplicate of this bug. ***
*** Bug 368982 has been marked as a duplicate of this bug. ***
*** Bug 372191 has been marked as a duplicate of this bug. ***
*** Bug 373440 has been marked as a duplicate of this bug. ***
*** Bug 373625 has been marked as a duplicate of this bug. ***
All of these are occurring with libsmooth, when we are use the out-of-process metadata loader. The obvious thing would be if we were neglecting to take the GDK lock somewhere, but the metadata-loading path itself never touches gdk/gtk. It's likely that a signal handler responding to something triggered by rhythmdb_process_metadata_load() is doing GTK things without taking the GDK lock, since it can't know whether it's already being held or not. Or it might be a smooth bug.
*** Bug 373616 has been marked as a duplicate of this bug. ***
*** Bug 373680 has been marked as a duplicate of this bug. ***
*** Bug 373992 has been marked as a duplicate of this bug. ***
*** Bug 375293 has been marked as a duplicate of this bug. ***
*** Bug 375135 has been marked as a duplicate of this bug. ***
*** Bug 377312 has been marked as a duplicate of this bug. ***
*** Bug 378167 has been marked as a duplicate of this bug. ***
*** Bug 379292 has been marked as a duplicate of this bug. ***
Can anyone reliably reproduce the crash? There's a patch for glib on bug 378078 that I believe will fix it.
*** Bug 381534 has been marked as a duplicate of this bug. ***
Also, a stack trace with glib debug symbols would be helpful.
*** Bug 382087 has been marked as a duplicate of this bug. ***
*** Bug 387988 has been marked as a duplicate of this bug. ***
If someone can suggest how to reproduce this (I hit it when rhythmbox was running and I plugged in an iPod, but haven't been able to reproduce it seince) then I can get a backtrace with symbols...
*** Bug 388118 has been marked as a duplicate of this bug. ***
If bug 378078 (fixed in glib 2.12.5) really was the cause of this problem (and I'm pretty sure it was), then doing anything that would result in objects being created on multiple threads simultaneously should trigger it. Importing songs (or adding them from an ipod db) is about the best way to do that in rhythmbox. It should be more likely to occur if you select the ipod source as soon as it appears.
*** Bug 389188 has been marked as a duplicate of this bug. ***
*** Bug 389318 has been marked as a duplicate of this bug. ***
*** Bug 391190 has been marked as a duplicate of this bug. ***
*** Bug 391623 has been marked as a duplicate of this bug. ***
*** Bug 391677 has been marked as a duplicate of this bug. ***
*** Bug 391814 has been marked as a duplicate of this bug. ***
*** Bug 392328 has been marked as a duplicate of this bug. ***
*** Bug 392426 has been marked as a duplicate of this bug. ***
*** Bug 394368 has been marked as a duplicate of this bug. ***
*** Bug 394494 has been marked as a duplicate of this bug. ***
*** Bug 396239 has been marked as a duplicate of this bug. ***
*** Bug 396499 has been marked as a duplicate of this bug. ***
*** Bug 396588 has been marked as a duplicate of this bug. ***
*** Bug 396952 has been marked as a duplicate of this bug. ***
*** Bug 398674 has been marked as a duplicate of this bug. ***
*** Bug 398952 has been marked as a duplicate of this bug. ***
*** Bug 399979 has been marked as a duplicate of this bug. ***
*** Bug 402402 has been marked as a duplicate of this bug. ***
*** Bug 402913 has been marked as a duplicate of this bug. ***
*** Bug 403431 has been marked as a duplicate of this bug. ***
*** Bug 404247 has been marked as a duplicate of this bug. ***
*** Bug 405647 has been marked as a duplicate of this bug. ***
*** Bug 405923 has been marked as a duplicate of this bug. ***
*** Bug 407010 has been marked as a duplicate of this bug. ***
*** Bug 407176 has been marked as a duplicate of this bug. ***
*** Bug 407305 has been marked as a duplicate of this bug. ***
*** Bug 407855 has been marked as a duplicate of this bug. ***
*** Bug 407955 has been marked as a duplicate of this bug. ***
*** Bug 408116 has been marked as a duplicate of this bug. ***
*** Bug 408932 has been marked as a duplicate of this bug. ***
*** Bug 409337 has been marked as a duplicate of this bug. ***
*** Bug 409788 has been marked as a duplicate of this bug. ***
*** Bug 409789 has been marked as a duplicate of this bug. ***
*** Bug 411538 has been marked as a duplicate of this bug. ***
*** Bug 411769 has been marked as a duplicate of this bug. ***
*** Bug 411663 has been marked as a duplicate of this bug. ***
*** Bug 412052 has been marked as a duplicate of this bug. ***
*** Bug 412687 has been marked as a duplicate of this bug. ***
Based on previous trends, we would have seen at least a few reports of this crash with gnome 2.17.x if glib 2.12.5 didn't fix it. Therefore, I'm closing this bug.
*** Bug 413239 has been marked as a duplicate of this bug. ***
*** Bug 413419 has been marked as a duplicate of this bug. ***
*** Bug 414292 has been marked as a duplicate of this bug. ***
*** Bug 414398 has been marked as a duplicate of this bug. ***
*** Bug 417030 has been marked as a duplicate of this bug. ***
*** Bug 417217 has been marked as a duplicate of this bug. ***
*** Bug 417629 has been marked as a duplicate of this bug. ***
*** Bug 417711 has been marked as a duplicate of this bug. ***
*** Bug 418092 has been marked as a duplicate of this bug. ***
*** Bug 419508 has been marked as a duplicate of this bug. ***
*** Bug 419583 has been marked as a duplicate of this bug. ***
*** Bug 419623 has been marked as a duplicate of this bug. ***
*** Bug 421847 has been marked as a duplicate of this bug. ***
*** Bug 423444 has been marked as a duplicate of this bug. ***
*** Bug 423539 has been marked as a duplicate of this bug. ***
*** Bug 424162 has been marked as a duplicate of this bug. ***
*** Bug 424414 has been marked as a duplicate of this bug. ***
*** Bug 425111 has been marked as a duplicate of this bug. ***
*** Bug 424874 has been marked as a duplicate of this bug. ***
*** Bug 426706 has been marked as a duplicate of this bug. ***
*** Bug 426552 has been marked as a duplicate of this bug. ***
*** Bug 427078 has been marked as a duplicate of this bug. ***
*** Bug 431241 has been marked as a duplicate of this bug. ***
*** Bug 431941 has been marked as a duplicate of this bug. ***
*** Bug 437640 has been marked as a duplicate of this bug. ***
*** Bug 436356 has been marked as a duplicate of this bug. ***
*** Bug 438688 has been marked as a duplicate of this bug. ***
*** Bug 441255 has been marked as a duplicate of this bug. ***
*** Bug 442514 has been marked as a duplicate of this bug. ***
*** Bug 442209 has been marked as a duplicate of this bug. ***
*** Bug 445892 has been marked as a duplicate of this bug. ***
*** Bug 454846 has been marked as a duplicate of this bug. ***
*** Bug 459716 has been marked as a duplicate of this bug. ***
*** Bug 463962 has been marked as a duplicate of this bug. ***
*** Bug 469430 has been marked as a duplicate of this bug. ***
*** Bug 473421 has been marked as a duplicate of this bug. ***
*** Bug 473756 has been marked as a duplicate of this bug. ***
*** Bug 474932 has been marked as a duplicate of this bug. ***
*** Bug 480791 has been marked as a duplicate of this bug. ***