retitle gtestutils crashes with an empty argv
reassign 743098 libglib2.0-dev
thanks

On Sun, Mar 30, 2014 at 06:46:11PM +0200, David Suárez wrote:
> > make[5]: Entering directory `/«BUILDDIR»/ekg2-0.4~pre+20120506.1'
> > PASS: check_potfiles
> > FAIL: check_ekg2

Apparently the binary segfaults during the test:

warning: no loadable sections found in added symbol-file system-supplied DSO at 
0x7fff705fe000
Core was generated by `./ekg2 -F check -n quit'.
Program terminated with signal 11, Segmentation fault.
#0  0x00002b0b0df49c3a in g_test_init () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
(gdb) bt full
#0  0x00002b0b0df49c3a in g_test_init () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#1  0x00002b0b0fd1dfae in check_plugin_init (prio=prio@entry=-254) at 
plugins/check/check.c:26
        argc = 0
        argv = 0x0
        __func__ = "check_plugin_init"
#2  0x0000000000424818 in plugin_load (name=0x974950 "check", 
prio=prio@entry=-254, quiet=quiet@entry=1) at ekg/plugins.c:282
        env_ekg_plugins_path = <optimized out>
        init = 0x993b70 "\240M\231"
        lib = <optimized out>
        libname = <optimized out>
        plugin = 0x995680
        pl = <optimized out>
        plugin_init = 0x2b0b0fd1df60 <check_plugin_init>
        __func__ = "plugin_load"
#3  0x000000000040e60b in main (argc=2, argv=0x7fff7040ad28) at ekg/ekg.c:648
        auto_connect = 0
        no_global_config = 0
        no_config = 0
        new_status = 0
        print_version = 0
        tmp = 0x0
        new_descr = 0x0
        load_theme = 0x0
        new_profile = 0x0
        frontend = 0x974950 "check"
        err = 0x0
        rlim = {rlim_cur = 18446744073709551615, rlim_max = 
18446744073709551615}
(gdb) 

So it's the same as https://bugs.launchpad.net/bugs/1251887
Citing that bug:

(gdb) bt full
#0 parse_args (argv_p=0x7fff49a8cc18, argc_p=0x7fff49a8cc14) at 
/build/buildd/glib2.0-2.38.1/./glib/gtestutils.c:815
        argc = 0
        argv = 0x0
        i = <optimized out>
        e = <optimized out>
#1 g_test_init (argc=argc@entry=0x7fff49a8cc14, argv=argv@entry=0x7fff49a8cc18) 
at /build/buildd/glib2.0-2.38.1/./glib/gtestutils.c:1120
        seedstr = "R02S0449cf08e0df592837157c37845fed72"
        args = {{gp_offset = 16, fp_offset = 0, overflow_arg_area = 
0x7fff49a8cc10, reg_save_area = 0x7fff49a8cba0}}
        vararg1 = <optimized out>
        fatal_mask = <optimized out>
        __PRETTY_FUNCTION__ = "g_test_init"
#2 0x00002b0a5b4dcfde in check_plugin_init (prio=prio@entry=-254) at 
plugins/check/check.c:26
        argc = 0
        argv = 0x0
        __func__ = "check_plugin_init"
[...]
Line 815 is:
  test_argv0 = argv[0];

which leads to a null pointer dereference in this case.

This seems to be a regression in glib, which used to support passing an
empty argv:
http://sources.debian.net/src/glib2.0/2.36.4-1/glib/gtestutils.c

-- 
Marcin Owsiany <porri...@debian.org>             http://marcin.owsiany.pl/
GnuPG: 2048R/02F946FC  35E9 1344 9F77 5F43 13DD  6423 DBF4 80C6 02F9 46FC


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to