Eye of Gnome is segfaulting for me consistently under normal use. I manage to crash it simply by cycling through photos in a folder. I get this backtrace which suggests libexif is the culprit: (gdb) bt #0 0x00007f4d5e92b46e in exif_content_get_entry () from /usr/lib/libexif.so.12 #1 0x000000000044f53b in eog_exif_util_get_value () #2 0x00007f4d53979caf in ?? () from /usr/lib64/eog/plugins/libstatusbar-date.so #3 0x00007f4d5e28823f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #4 0x00007f4d5e29e25b in ?? () from /usr/lib/libgobject-2.0.so.0 #5 0x00007f4d5e29f2d1 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #6 0x00007f4d5e29f7c3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #7 0x00007f4d5fd4ff0d in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #8 0x000000000043ed17 in eog_thumb_view_select_single () #9 0x00007f4d5e28823f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #10 0x00007f4d5e29dcda in ?? () from /usr/lib/libgobject-2.0.so.0 #11 0x00007f4d5e29f2d1 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #12 0x00007f4d5e29f7c3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #13 0x00007f4d5fcb6ec3 in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #14 0x00007f4d5fe3fc99 in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #15 0x00007f4d5e28823f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #16 0x00007f4d5e29dcda in ?? () from /usr/lib/libgobject-2.0.so.0 #17 0x00007f4d5e29f2d1 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #18 0x00007f4d5e29f7c3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #19 0x00007f4d5fcd09ad in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #20 0x00007f4d5e28823f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #21 0x00007f4d5e29d5c2 in ?? () from /usr/lib/libgobject-2.0.so.0 #22 0x00007f4d5e29f2d1 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #23 0x00007f4d5e29f7c3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #24 0x00007f4d5fccf63d in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #25 0x00007f4d5fd7a658 in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #26 0x00007f4d5e28823f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #27 0x00007f4d5e29d9bd in ?? () from /usr/lib/libgobject-2.0.so.0 #28 0x00007f4d5e29f15c in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #29 0x00007f4d5e29f7c3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #30 0x00007f4d5fe8218e in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #31 0x00007f4d5fd72f03 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #32 0x00007f4d5fd74023 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #33 0x00007f4d5f9f1d7c in ?? () from /usr/lib/libgdk-x11-2.0.so.0 #34 0x00007f4d5dfd0e19 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #35 0x00007f4d5dfd44d0 in ?? () from /usr/lib/libglib-2.0.so.0 #36 0x00007f4d5dfd499d in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #37 0x00007f4d5fd74437 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #38 0x00000000004209f9 in main ()
The versions I am using: media-libs/libexif-0.6.17 USE="doc nls" media-gfx/eog-2.26.2 USE="dbus doc exif lcms python -debug -xmp" Compiling eog without the exif USE flag stops the segfaults (but obviously removes exif support).
please read [1] and provide a complete backtrace. [1] http://www.gentoo.org/proj/en/qa/backtraces.xml
Here is a more complete backtrace: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7f0f90049750 (LWP 18958)] 0x00007f0f8dacdaf7 in exif_content_get_entry (content=0x1a50e60, tag=EXIF_TAG_DATE_TIME_ORIGINAL) at exif-content.c:200 200 exif-content.c: No such file or directory. in exif-content.c (gdb) bt #0 0x00007f0f8dacdaf7 in exif_content_get_entry (content=0x1a50e60, tag=EXIF_TAG_DATE_TIME_ORIGINAL) at exif-content.c:200 #1 0x000000000045b423 in eog_exif_util_get_value (exif_data=0x1a50a90, tag_id=36867, buffer=0x7fff98215320 "", buf_size=32) at eog-exif-util.c:183 #2 0x00007f0f82b1bb73 in statusbar_set_date (statusbar=0x1856ce0, view=0x1985000) at eog-statusbar-date-plugin.c:83 #3 0x00007f0f82b1bc13 in selection_changed_cb (view=0x1985000, data=0x1986e50) at eog-statusbar-date-plugin.c:100 #4 0x00007f0f8d42a23f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #5 0x00007f0f8d44025b in ?? () from /usr/lib/libgobject-2.0.so.0 #6 0x00007f0f8d4412d1 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #7 0x00007f0f8d4417c3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #8 0x00007f0f8eef9f0d in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #9 0x000000000044734d in eog_thumb_view_select_single (thumbview=0x1985000, change=EOG_THUMB_VIEW_SELECT_RIGHT) at eog-thumb-view.c:868 #10 0x000000000042bcb3 in eog_window_cmd_go_next (action=0x0, user_data=0x17a6000) at eog-window.c:3364 #11 0x000000000042e8f2 in eog_window_key_press (widget=0x17a6000, event=0x1a6cc10) at eog-window.c:4520 #12 0x00007f0f8ef24658 in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #13 0x00007f0f8d42a23f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #14 0x00007f0f8d43f9bd in ?? () from /usr/lib/libgobject-2.0.so.0 #15 0x00007f0f8d44115c in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #16 0x00007f0f8d4417c3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #17 0x00007f0f8f02c18e in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #18 0x00007f0f8ef1cfdd in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #19 0x00007f0f8ef1e023 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #20 0x00007f0f8eb9bd7c in ?? () from /usr/lib/libgdk-x11-2.0.so.0 #21 0x00007f0f8d172e19 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #22 0x00007f0f8d176488 in ?? () from /usr/lib/libglib-2.0.so.0 #23 0x00007f0f8d17697d in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #24 0x00007f0f8ef1e437 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #25 0x00000000004213fb in main (argc=1, argv=0x7fff98216078) at main.c:240
I need to insist, your backtrace is still missing symbols.
Summary: Add -ggdb into your CFLAGS (to have a complete backtrace) and also add "splitdebug" into your FEATURES (make.conf), then re-emerge , re-try and re-attach the backtrace, please. thanks :)
I just wanted to report, that I have the same error. Right now I don't have the time to rebuild my system with ggdb so I can't provide a backtrace.
(In reply to comment #6) > I just wanted to report, that I have the same error. > > Right now I don't have the time to rebuild my system with ggdb so I can't > provide a backtrace. > Not rebuild you entire system, actually just some symbols from gtk are missing, so you just need to rebuild gtk with -ggdb.
Created attachment 196564 [details] backtrace I hope this backtrace helps more. Took me some time to recompile the needed libs, but I hope, it's all that you need.
This seems to be the same bug as https://bugzilla.gnome.org/show_bug.cgi?id=583448
Created attachment 196624 [details, diff] Patch to fix race condition Applying the patch from http://git.gnome.org/cgit/eog/patch/?id=06ada2d5f6106c4e85c2b02dbaadc70638b8206a should fix the problem. Please test the attached approach to fix the problem.
Created attachment 196625 [details] corresponding ebuild The correspondig ebuild to include the proposed patch.
Your backtrace isn't the same as upstream bug, your crash happens into eog_exif_util_get_value() apparently when it calls exif_content_get_entry. The upstream crash happens into eog_image_get_exif_info.
Yes, you are right. I meant, the cause is the same as in the upstream bug. One of the bugs marked as duplicate (https://bugzilla.gnome.org/show_bug.cgi?id=584971) has a similar backtrace. According to the upstream developer, it seems to be a bug caused by a race condition. Therefore more than one backtrace can produce the same error. My testcase did not produce any errors after applying the proposed patch. Sorry, if the documentation was not correct. To avoid confusion the next time: Should I rather have linked the bug which was a duplicate?
Now it's clear, URL field updated containing this link, thanks.
> According to the upstream developer, it seems to be a bug caused by a race > condition. Therefore more than one backtrace can produce the same error. My > testcase did not produce any errors after applying the proposed patch. Read the comment posted by Felix (developer) in more details, normally this bug should be fixed when eog-2.26.3 will be available, and it's already available since 1st July :) .
2.26.3 bumped into the main tree, this release bugfix should fix your crash and another. If your problem is still present, feel free to reopen this bug. Thanks for reporting ;)