Control: retitle -1 geeqie: crash (SIGABRT) when loading files with extensions 
geeqie doesn't know about

On Wed, 2013-11-27 at 10:09 +0800, Paul Wise wrote:

> geeqie reproducibly crashes with a SIGABRT when loading PDF files, backtrace:

I get the exact same issue when loading a PNG file that has a strange
extension. Known extensions like jpg work but geeqie is buggy with
extensions that it doesn't know about. The file type is completely
unrelated to this crash, just the file name. Since geeqie doesn't know
about the .pdf extension it crashes there too.

pabs@chianamo ~ $ wget -q http://www.google.com/images/google_favicon_128.png
pabs@chianamo ~ $ geeqie google_favicon_128.png 
Could not init LIRC support
pabs@chianamo ~ $ cp google_favicon_128.png google_favicon_128.jpg
pabs@chianamo ~ $ geeqie google_favicon_128.jpg
Could not init LIRC support
pabs@chianamo ~ $ cp google_favicon_128.png google_favicon_128.flibble
pabs@chianamo ~ $ geeqie google_favicon_128.flibble
Could not init LIRC support
**
ERROR:filedata.c:1101:file_data_new_group: assertion failed: (fd)
Aborted (core dumped)
pabs@chianamo ~ $ cp google_favicon_128.png google_favicon_128
pabs@chianamo ~ $ geeqie google_favicon_128
Could not init LIRC support
**
ERROR:filedata.c:1101:file_data_new_group: assertion failed: (fd)
Aborted (core dumped)
pabs@chianamo ~ $ gdb -batch -n -ex run -ex bt -ex 'thread apply all bt full' 
--args geeqie google_favicon_128
warning: no loadable sections found in added symbol-file system-supplied DSO at 
0x7ffff7ffa000
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Could not init LIRC support
[New Thread 0x7fffe3a29700 (LWP 24258)]
**
ERROR:filedata.c:1101:file_data_new_group: assertion failed: (fd)

Program received signal SIGABRT, Aborted.
0x00007ffff3cb61d5 in __GI_raise (sig=sig@entry=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:56
56      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
#0  0x00007ffff3cb61d5 in __GI_raise (sig=sig@entry=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff3cb9388 in __GI_abort () at abort.c:90
#2  0x00007ffff5ca6c16 in g_assertion_message (domain=domain@entry=0x0, 
file=file@entry=0x4d9414 "filedata.c", line=line@entry=1101, 
func=func@entry=0x4d9f90 <__PRETTY_FUNCTION__.53497> "file_data_new_group", 
message=<optimized out>) at /tmp/buildd/glib2.0-2.36.4/./glib/gtestutils.c:1912
#3  0x00007ffff5ca6c74 in g_assertion_message_expr (domain=domain@entry=0x0, 
file=file@entry=0x4d9414 "filedata.c", line=line@entry=1101, 
func=func@entry=0x4d9f90 <__PRETTY_FUNCTION__.53497> "file_data_new_group", 
expr=expr@entry=0x4d9376 "fd") at 
/tmp/buildd/glib2.0-2.36.4/./glib/gtestutils.c:1923
#4  0x0000000000453974 in file_data_new_group (path_utf8=<optimized out>) at 
filedata.c:1101
#5  0x0000000000464c18 in layout_set_path (lw=0x7ee420, path=0x5eb4 <Address 
0x5eb4 out of bounds>) at layout.c:855
#6  0x0000000000468186 in layout_new_from_config 
(attribute_names=attribute_names@entry=0x7fffffffd630, 
attribute_values=attribute_values@entry=0x7fffffffd510, use_commandline=1) at 
layout.c:2427
#7  0x000000000049ef3f in options_parse_toplevel (parser_data=0x7d02d0, 
context=<optimized out>, element_name=<optimized out>, 
attribute_names=0x7fffffffd630, attribute_values=0x7fffffffd510, 
data=<optimized out>, error=0x7fffffffd750) at rcfile.c:1121
#8  0x000000000049c517 in start_element (context=0x7d1fc0, 
element_name=0x7d80b0 "layout", attribute_names=0x7fffffffd630, 
attribute_values=0x7fffffffd510, user_data=0x7d02d0, error=0x7fffffffd750) at 
rcfile.c:1186
#9  0x00007ffff5c85631 in emit_start_element (context=context@entry=0x7d1fc0, 
error=error@entry=0x0) at /tmp/buildd/glib2.0-2.36.4/./glib/gmarkup.c:1029
#10 0x00007ffff5c86f90 in g_markup_parse_context_parse 
(context=context@entry=0x7d1fc0, text=<optimized out>, text_len=<optimized 
out>, text_len@entry=20261, error=error@entry=0x0) at 
/tmp/buildd/glib2.0-2.36.4/./glib/gmarkup.c:1366
#11 0x000000000049fffd in load_config_from_buf (buf=<optimized out>, 
size=20261, startup=startup@entry=1) at rcfile.c:1231
#12 0x00000000004a00ac in load_config_from_file 
(utf8_path=utf8_path@entry=0x7da730 "/home/pabs/.config/geeqie/geeqierc.xml", 
startup=startup@entry=1) at rcfile.c:1253
#13 0x0000000000477e3e in load_options (options=<optimized out>) at 
options.c:265
#14 0x0000000000418c73 in main (argc=2, argv=0x7fffffffda88) at main.c:827

Thread 2 (Thread 0x7fffe3a29700 (LWP 24258)):
#0  0x00007ffff3d5e95d in poll () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1  0x00007ffff5c83194 in g_main_context_poll (priority=2147483647, n_fds=3, 
fds=0x87bba0, timeout=-1, context=0x87b7c0) at 
/tmp/buildd/glib2.0-2.36.4/./glib/gmain.c:3995
        poll_func = 0x7ffff5c91dd0 <g_poll>
#2  g_main_context_iterate (context=0x87b7c0, block=block@entry=1, 
dispatch=dispatch@entry=1, self=<optimized out>) at 
/tmp/buildd/glib2.0-2.36.4/./glib/gmain.c:3696
        max_priority = 2147483647
        timeout = -1
        some_ready = <optimized out>
        nfds = 3
        allocated_nfds = 3
        fds = 0x87bba0
#3  0x00007ffff5c835fa in g_main_loop_run (loop=0x8791b0) at 
/tmp/buildd/glib2.0-2.36.4/./glib/gmain.c:3895
        __PRETTY_FUNCTION__ = "g_main_loop_run"
#4  0x00007ffff7039d26 in gdbus_shared_thread_func (user_data=0x87b790) at 
/tmp/buildd/glib2.0-2.36.4/./gio/gdbusprivate.c:278
        data = 0x87b790
#5  0x00007ffff5ca71d5 in g_thread_proxy (data=0x8789e0) at 
/tmp/buildd/glib2.0-2.36.4/./glib/gthread.c:798
        thread = 0x8789e0
#6  0x00007ffff4034e0e in start_thread (arg=0x7fffe3a29700) at 
pthread_create.c:311
        __res = <optimized out>
        pd = 0x7fffe3a29700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737012471552, 
-2687248686212672277, 1, 140737488341600, 4096, 140737012471552, 
2687310646995358955, 2687260879015548139}, mask_was_saved = 0}}, priv = {pad = 
{0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#7  0x00007ffff3d6a0fd in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.

Thread 1 (Thread 0x7ffff7fb49c0 (LWP 24244)):
#0  0x00007ffff3cb61d5 in __GI_raise (sig=sig@entry=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:56
        resultvar = 0
        pid = 24244
        selftid = 24244
#1  0x00007ffff3cb9388 in __GI_abort () at abort.c:90
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x4d9414, sa_sigaction = 
0x4d9414}, sa_mask = {__val = {3, 66, 140737351945621, 5, 0, 72057594037927937, 
140737283390696, 10450864, 66, 140737488343600, 140737351971333, 0, 0, 
140737287190112, 4294967295, 10450928}}, sa_flags = 64, sa_restorer = 
0x101010101010101}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff5ca6c16 in g_assertion_message (domain=domain@entry=0x0, 
file=file@entry=0x4d9414 "filedata.c", line=line@entry=1101, 
func=func@entry=0x4d9f90 <__PRETTY_FUNCTION__.53497> "file_data_new_group", 
message=<optimized out>) at /tmp/buildd/glib2.0-2.36.4/./glib/gtestutils.c:1912
        lstr = 
"1101\000\177\000\000@\322\377\377\377\177\000\000c\366\320.\000\000\000\000v\223M\000\000\000\000"
        s = 0x9f77b0 ""
#3  0x00007ffff5ca6c74 in g_assertion_message_expr (domain=domain@entry=0x0, 
file=file@entry=0x4d9414 "filedata.c", line=line@entry=1101, 
func=func@entry=0x4d9f90 <__PRETTY_FUNCTION__.53497> "file_data_new_group", 
expr=expr@entry=0x4d9376 "fd") at 
/tmp/buildd/glib2.0-2.36.4/./glib/gtestutils.c:1923
        s = <optimized out>
#4  0x0000000000453974 in file_data_new_group (path_utf8=<optimized out>) at 
filedata.c:1101
        dir = 0x9fb070 "/home/pabs"
        st = {st_dev = 65025, st_ino = 1841159, st_nlink = 1, st_mode = 33184, 
st_uid = 1000, st_gid = 1000, __pad0 = 0, st_rdev = 0, st_size = 3243, 
st_blksize = 4096, st_blocks = 8, st_atim = {tv_sec = 1391738002, tv_nsec = 
274250543}, st_mtim = {tv_sec = 1391738002, tv_nsec = 274250543}, st_ctim = 
{tv_sec = 1391738002, tv_nsec = 274250543}, __unused = {0, 0, 0}}
        fd = 0x0
        files = 0xa44a80
        __PRETTY_FUNCTION__ = "file_data_new_group"
#5  0x0000000000464c18 in layout_set_path (lw=0x7ee420, path=0x5eb4 <Address 
0x5eb4 out of bounds>) at layout.c:855
        fd = 0x7ee420
        ret = 8315936
#6  0x0000000000468186 in layout_new_from_config 
(attribute_names=attribute_names@entry=0x7fffffffd630, 
attribute_values=attribute_values@entry=0x7fffffffd510, use_commandline=1) at 
layout.c:2427
        lop = {id = 0x7e7f00 "main", order = 0x7e86b0 "123", style = 0, 
dir_view_type = DIRVIEW_LIST, file_view_type = FILEVIEW_LIST, show_thumbnails = 
1, show_marks = 0, show_directory_date = 0, show_info_pixel = 1, main_window = 
{w = 839, h = 1017, x = 2119, y = 0, maximized = 1, hdivider_pos = 441, 
vdivider_pos = 261}, float_window = {w = 260, h = 450, x = 25, y = 0, 
vdivider_pos = 142}, properties_window = {w = 0, h = 0}, image_overlay = {state 
= 0, histogram_channel = 4, histogram_mode = 1}, tools_float = 0, tools_hidden 
= 0, toolbar_hidden = 0, home_path = 0x7ee3a0 "", last_path = 0x7ee400 
"/home/pabs", startup_path = STARTUP_PATH_CURRENT, exit_on_close = 0}
        lw = 0x7ee420
        path = 0x7d1380 "/home/pabs/google_favicon_128"
#7  0x000000000049ef3f in options_parse_toplevel (parser_data=0x7d02d0, 
context=<optimized out>, element_name=<optimized out>, 
attribute_names=0x7fffffffd630, attribute_values=0x7fffffffd510, 
data=<optimized out>, error=0x7fffffffd750) at rcfile.c:1121
        lw = 0x0
        context = <optimized out>
        data = <optimized out>
        attribute_names = 0x7fffffffd630
        element_name = <optimized out>
        error = 0x7fffffffd750
        attribute_values = 0x7fffffffd510
        parser_data = 0x7d02d0
#8  0x000000000049c517 in start_element (context=0x7d1fc0, 
element_name=0x7d80b0 "layout", attribute_names=0x7fffffffd630, 
attribute_values=0x7fffffffd510, user_data=0x7d02d0, error=0x7fffffffd750) at 
rcfile.c:1186
        parser_data = 0x7d02d0
        func = 0x7d2090
#9  0x00007ffff5c85631 in emit_start_element (context=context@entry=0x7d1fc0, 
error=error@entry=0x0) at /tmp/buildd/glib2.0-2.36.4/./glib/gmarkup.c:1029
        i = <optimized out>
        attr_names = 0x7fffffffd630
        attr_values = 0x7fffffffd510
        tmp_error = 0x0
#10 0x00007ffff5c86f90 in g_markup_parse_context_parse 
(context=context@entry=0x7d1fc0, text=<optimized out>, text_len=<optimized 
out>, text_len@entry=20261, error=error@entry=0x0) at 
/tmp/buildd/glib2.0-2.36.4/./glib/gmarkup.c:1366
        __PRETTY_FUNCTION__ = "g_markup_parse_context_parse"
#11 0x000000000049fffd in load_config_from_buf (buf=<optimized out>, 
size=20261, startup=startup@entry=1) at rcfile.c:1231
        context = 0x7d1fc0
        ret = 1
        parser_data = 0x7d02d0
#12 0x00000000004a00ac in load_config_from_file 
(utf8_path=utf8_path@entry=0x7da730 "/home/pabs/.config/geeqie/geeqierc.xml", 
startup=startup@entry=1) at rcfile.c:1253
        size = 20261
        buf = 0x7d2e40 "<!--\n", '#' <repeats 70 times>, "\n#", ' ' <repeats 25 
times>, "Geeqie config file      version 1.1        #\n", '#' <repeats 53 
times>...
        ret = 1
#13 0x0000000000477e3e in load_options (options=<optimized out>) at 
options.c:265
        success = <optimized out>
        rc_path = 0x7da730 "/home/pabs/.config/geeqie/geeqierc.xml"
#14 0x0000000000418c73 in main (argc=2, argv=0x7fffffffda88) at main.c:827
        first_collection = 0x0
        buf = <optimized out>
        cd = 0x0

-- 
bye,
pabs

http://wiki.debian.org/PaulWise

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to