After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 623271 - freezes on named pipe
freezes on named pipe
Status: RESOLVED FIXED
Product: eog
Classification: Core
Component: general
unspecified
Other Linux
: Normal critical
: ---
Assigned To: EOG Maintainers
EOG Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-07-01 08:07 UTC by Massimo Cora'
Modified: 2010-10-15 15:38 UTC
See Also:
GNOME target: ---
GNOME version: 2.29/2.30



Description Massimo Cora' 2010-07-01 08:07:36 UTC
This bug happens on firefox, chrome, eog, etc.
This bug happens when the open dialog has a preview feature.

steps to reproduce:

1. mkfifo /tmp/a.jpg
2. launch eog
3. click open and browse to /tmp/a.jpg.

Same happens with firefox when you try to attach a file with gmail, or bugzilla etc.
Comment 1 Federico Mena Quintero 2010-10-12 23:04:33 UTC
The code where this hangs is in EOG.  It tries to create a preview for /tmp/a.jpg, which is a named pipe.  Reassigning.

Thread 1 (Thread 0xb6478a60 (LWP 11962))

  • #0 __kernel_vsyscall
  • #1 open
    from /lib/libc.so.6
  • #2 __GI__IO_file_open
    from /lib/libc.so.6
  • #3 _IO_new_file_fopen
    from /lib/libc.so.6
  • #4 __fopen_internal
    from /lib/libc.so.6
  • #5 fopen64
    from /lib/libc.so.6
  • #6 IA__gdk_pixbuf_new_from_file
    at gdk-pixbuf-io.c line 976
  • #7 ??
  • #8 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #9 IA__g_closure_invoke
    at gclosure.c line 767
  • #10 signal_emit_unlocked_R
    at gsignal.c line 3248
  • #11 IA__g_signal_emit_valist
    at gsignal.c line 2981
  • #12 IA__g_signal_emit_by_name
    at gsignal.c line 3075
  • #13 delegate_update_preview
    at gtkfilechooserutils.c line 350
  • #14 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #15 IA__g_closure_invoke
    at gclosure.c line 767
  • #16 signal_emit_unlocked_R
    at gsignal.c line 3248
  • #17 IA__g_signal_emit_valist
    at gsignal.c line 2981
  • #18 IA__g_signal_emchampignon\$ ps auxww | grep eog federico 11962 1.9 3.7 130956 18900 pts/0 tl+ 18:10 0:01 eog federico 11977 0.0 0.1 3596 732 pts/3 S+ 18:11 0:00 grep eog 11962: eog START SIZE RSS PSS DIRTY SWAP PERM MAPPING 08048000 1668K 400K 400K 0K 0K r-xp /usr/bin/eog 081ea000 8K 8K 8K 4K 0K r--p /usr/bin/eog 081ec000 180K 12K 12K 12K 0K rw-p /usr/bin/eog it_by_name
    at gsignal.c line 3075
  • #19 delegate_update_preview
    at gtkfilechooserutils.c line 350

Frame 7 points to code in EOG (see the $pc at 0x080e1d68 for that frame):

champignon$ pmap `pidof eog`
11962: eog
START       SIZE     RSS     PSS   DIRTY    SWAP PERM MAPPING
08048000   1668K    400K    400K      0K      0K r-xp /usr/bin/eog
081ea000      8K      8K      8K      4K      0K r--p /usr/bin/eog
081ec000    180K     12K     12K     12K      0K rw-p /usr/bin/eog
Comment 2 Felix Riemann 2010-10-15 15:38:54 UTC
Fixed in eog by exempting special files from thumbnailing in the filechooser.

commit 389db0ff522f4d471e42e34ce3607368b7deb26b (gnome-2-32)

commit b417c57d846bfa83045de8d74ed35e96ef345e22 (master)
Author: Felix Riemann <>
Date:   Fri Oct 15 17:29:36 2010 +0200

    Don't try to thumbnail named pipes in the file open dialog
    
    In fact this means all "special" files like sockets and device files.
    This prevents lockups due to file I/O blocking here. Fixes bug 623271.

This problem has been fixed in our software repository. The fix will go into the next software release. Thank you for your bug report.