GNOME Bugzilla – Bug 312275
audio preview on n-c-b make nautilus crashes
Last modified: 2005-10-20 14:37:14 UTC
Distribution/Version: ubuntu breezy 1/ Create a new data CD with n-c-b 2/ Put some mp3 or ogg in n-c-b 3/ put the cursor over an audio file Result: Nautilus crashes 100 % reproductible. Note for the generation of future: ATM, nautilus uses mpg123 to play (perhaps in a near future nautilus will use gstreamer) Find the backtrace herebelow, generated find debug libs and apps (no debugging symbols found) Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (no debugging symbols found) `system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols. (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1225808192 (LWP 7690)] 0xffffe410 in __kernel_vsyscall ()
+ Trace 62125
Thanks for the bug report. Unfortunately, that stack trace is not very useful in determining the cause of the crash. Can you get us one with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so.
Hello, I can't get a more debug strace as I have all gtk/gnome debug versions of packages installed. I don't know why it produce a useless stacktrace.
I've this output in .xsession-errors: ** ERROR **: Read R instead of E as handshake aborting... ** ERROR **: Read instead of R as handshake aborting...
To debug under jhbuild: Make sure you are in the audio group. Enable esd ('Enable sound server startup' in Sound Preferences) + verify esd really started (didn't for me). If it didn't start, manually start esd + killall nautilis. Backtrace was generated from '/opt/jhbuild/bin/nautilus' Using host libthread_db library "/lib/tls/libthread_db.so.1". `shared object read from target memory' has disappeared; keeping its symbols. [Thread debugging using libthread_db enabled] [New Thread -1227163968 (LWP 13842)] [New Thread -1246995536 (LWP 13845)] [New Thread -1245434960 (LWP 13844)] [New Thread -1238955088 (LWP 13843)] 0xffffe410 in __kernel_vsyscall ()
+ Trace 62335
Thread 1 (Thread -1227163968 (LWP 13842))
I can reproduce this. It looks like this occurs because of a nasty interaction between the fork in nautilus/src/file-manager/fm-icon-view.c and the threading in gnome-vfs. Normally, the IO watch function is turned off on the client before a request is sent to the daemon and a reply is read back. This prevents the io watch callback from trying to read the reply. In this case, the forked copy is not able to turn off the io watch callback and the two functions both try to read the reply.
http://www.gnu.org/software/libc/manual/html_node/Threads-and-Fork.html#Threads%20and%20Fork However, there doesn't seem to be an equivalent to pthread_atfork in GThread.
Created attachment 51323 [details] [review] workaround patch This is a workaround that disables audio preview in burn://.
We can work on a real solution after the freeze.
Commited the workaround. Should we keep the bug around?
Thanks Alex. I'll keep this bug around until I can look at the fork issue in more depth.
Actually, I'll close it.