Skip to content

nautilus (GNOME Files) crashes when getting info on image #5020

@wezm

Description

@wezm

When I do Ctrl-i on an image nautilus crashes. I've replicated on two different Chimera installs. It doesn't happen on a non-Chimera system. I've tried to debug the situation, but I can't work out what's going on. In the call to append_gexiv2_tag for the flash the value of tag_names seems to get corrupted. It doesn't match the flash global variable passed in. All the preceding calls work: tag_names matches the passed in variable as you'd expect.

Steps to reproduce:

  1. Start nautilus
  2. Click on a photo
  3. Get info on the file with Ctrl-i
  4. Nautilus crashes
(lldb) target create "/usr/bin/nautilus"
Current executable set to '/usr/bin/nautilus' (x86_64).
(lldb) run
Process 4920 launched: '/usr/bin/nautilus' (x86_64)
** Message: 21:36:08.971: Connecting to org.freedesktop.Tracker3.Miner.Files
Process 4920 stopped
* thread #1, name = 'nautilus', stop reason = signal SIGSEGV: sent by kernel (SI_KERNEL)
    frame #0: 0x00007ffff7f28200 libc.so`strncmp(_l="Xmp.", _r="", n=<unavailable>) at strncmp.c:7:15
warning: strncmp.c: source file checksum mismatch between line table (dc65216f943433804864eb3dc03ffd14) and file on disk ()
(lldb) bt
* thread #1, name = 'nautilus', stop reason = signal SIGSEGV: sent by kernel (SI_KERNEL)
  * frame #0: 0x00007ffff7f28200 libc.so`strncmp(_l="Xmp.", _r="", n=<unavailable>) at strncmp.c:7:15
    frame #1: 0x00007fffdfae556a libgexiv2-0.16.so.4`gexiv2_metadata_is_xmp_tag(tag="") at gexiv2-metadata.cpp:1012:12 [inlined]
    frame #2: 0x00007fffdfae5556 libgexiv2-0.16.so.4`gexiv2_metadata_has_tag(self=0x00007fffcf908160, tag="", error=0x0000000000000000) at gexiv2-metadata.cpp:553:9
    frame #3: 0x00007fffdfae54a5 libgexiv2-0.16.so.4`gexiv2_metadata_try_has_tag(self=<unavailable>, tag=<unavailable>, error=<unavailable>) at gexiv2-metadata.cpp:543:12 [artificial]
    frame #4: 0x00007fffdfb06327 libnautilus-image-properties.so`append_gexiv2_tag(self=0x00007fffde0d5800, tag_names=0x00007fffec492540, tag_description="Flash Fired") at nautilus-image-properties-model.c:190:13
    frame #5: 0x00007fffdfb0600a libnautilus-image-properties.so`append_gexiv2_info(self=0x00007fffde0d5800) at nautilus-image-properties-model.c:234:5 [inlined]
    frame #6: 0x00007fffdfb05f13 libnautilus-image-properties.so`load_finished(self=0x00007fffde0d5800) at nautilus-image-properties-model.c:276:9
    frame #7: 0x00007fffdfb05cfb libnautilus-image-properties.so`file_read_callback(object=<unavailable>, res=<unavailable>, data=0x00007fffde0d5800) at nautilus-image-properties-model.c:360:9
    frame #8: 0x00007ffff799bdb0 libgio-2.0.so.0`___lldb_unnamed_symbol_efd80 + 48
    frame #9: 0x00007ffff79dfa48 libgio-2.0.so.0`___lldb_unnamed_symbol_133a20 + 40
    frame #10: 0x00007ffff7dd88b3 libglib-2.0.so.0`___lldb_unnamed_symbol_10a680 + 563
    frame #11: 0x00007ffff7dd911b libglib-2.0.so.0`___lldb_unnamed_symbol_10acf0 + 1067
    frame #12: 0x00007ffff7dd9394 libglib-2.0.so.0`g_main_context_iteration + 116
    frame #13: 0x00007ffff7a102ad libgio-2.0.so.0`g_application_run + 525
    frame #14: 0x0000555555601b38 nautilus`main(argc=1, argv=0x00007fffffffe208) at nautilus-main.c:77:14
    frame #15: 0x00007ffff7ed6bad libc.so`libc_start_main_stage2(main=(nautilus`main at nautilus-main.c:48), argc=<unavailable>, argv=0x00007fffffffe208) at __libc_start_main.c:95:7
    frame #16: 0x00005555555ffa46 nautilus`_start + 22
(lldb) up
frame #1: 0x00007fffdfae556a libgexiv2-0.16.so.4`gexiv2_metadata_is_xmp_tag(tag="") at gexiv2-metadata.cpp:1012:12 [inlined]
(lldb) up
frame #2: 0x00007fffdfae5556 libgexiv2-0.16.so.4`gexiv2_metadata_has_tag(self=0x00007fffcf908160, tag="", error=0x0000000000000000) at gexiv2-metadata.c
pp:553:9
(lldb) up
frame #3: 0x00007fffdfae54a5 libgexiv2-0.16.so.4`gexiv2_metadata_try_has_tag(self=<unavailable>, tag=<unavailable>, error=<unavailable>) at gexiv2-metadata.cpp:543:12 [artificial]
(lldb) up
frame #4: 0x00007fffdfb06327 libnautilus-image-properties.so`append_gexiv2_tag(self=0x00007fffde0d5800, tag_names=0x00007fffec492540, tag_description="Flash Fired") at nautilus-image-properties-model.c:190:13
warning: nautilus-image-properties-model.c: source file checksum mismatch between line table (f20b173456aaa08e6fed6412879a65c9) and file on disk ()
(lldb) frame var -L flash
0x00007fffdfb09120: (const char *[2]) flash = {
0x00007fffdfb09120:   [0] = 0x00007fffdfb03f11 "Exif.Photo.Flash"
0x00007fffdfb09128:   [1] = 0x0000000000000000
}
(lldb) frame var -L tag_names
r12: (const char **) tag_names = 0x00007fffec492540
(lldb) p tag_names
(const char **) 0x00007fffec492540
(lldb) p *tag_names
(const char *) 0x8b485053e5894855 ""
(lldb) 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions