Follow-up Comment #3, bug #22047 (project freeciv):

New, slightly different symptom with trunk r24941.

Main thread is as before, but in this case metaserver thread is busy doing
something Gtk-y too.
I guess it might just be a coincidence and not evidence of threading trouble;
normally the "double free or corruption" message from the main thread is
followed by an abort (signal 6), but here it looks like the metaserver thread
segfaulted; I guess that the metaserver thread happened to blunder into an
unsafe pointer before the main thread could finish aborting (it didn't produce
the usual backtrace/memory map dump either). Only seen once.

Main thread:


#0  __libc_message (do_abort=2, 
    fmt=0x7f919b094748 "*** glibc detected *** %s: %s: 0x%s ***\n")
    at ../sysdeps/unix/sysv/linux/libc_fatal.c:135
        iov = 0x7fff31007e00
        total = 104
        cnt = <optimised out>
        ap = {{gp_offset = 40, fp_offset = 48, 
            overflow_arg_area = 0x7fff31008710, 
            reg_save_area = 0x7fff31008620}}
        ap_copy = {{gp_offset = 16, fp_offset = 48, 
            overflow_arg_area = 0x7fff31008710, 
            reg_save_area = 0x7fff31008620}}
        fd = 11
        on_2 = <optimised out>
        list = <optimised out>
        nlist = 7
        cp = <optimised out>
        written = false
#1  0x00007f919af94b96 in malloc_printerr (action=3, 
    str=0x7f919b094938 "double free or corruption (fasttop)", 
    ptr=<optimised out>) at malloc.c:5039
        buf = "0000000004b7beb0"
        cp = <optimised out>
#2  0x00007f919be25176 in gtk_text_layout_get_cursor_locations ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#3  0x00007f919be30d40 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#4  0x00007f919be30d77 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#5  0x00007f919be30dd3 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#6  0x00007f919b9abd56 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
No symbol table info available.
#7  0x00007f919c905d13 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#8  0x00007f919c906060 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#9  0x00007f919c90645a in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#10 0x00007f919bd74397 in gtk_main ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#11 0x000000000044d1e9 in ui_main (argc=1, argv=0x7fff31008de8)
    at gui_main.c:1677
        home = <optimised out>
        sig = <optimised out>
        __FUNCTION__ = "ui_main"
#12 0x0000000000477018 in client_main (argc=1, argv=0x7fff31008de8)
    at client_main.c:620
        i = 1
        loglevel = LOG_NORMAL
        ui_options = <optimised out>
        ui_separator = <optimised out>
        option = <optimised out>
        user_tileset = <optimised out>
        fatal_assertions = -1
        aii = <optimised out>
        __FUNCTION__ = "client_main"
#13 0x00007f919af3776d in __libc_start_main (main=0x449f40 <main>, argc=1, 
    ubp_av=0x7fff31008de8, init=<optimised out>, fini=<optimised out>, 
    rtld_fini=<optimised out>, stack_end=0x7fff31008dd8) at libc-start.c:226
        result = <optimised out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 5145131187861646703, 
                4497224, 140734015507936, 0, 0, -5144993622665007761, 
                -5168979633985098385}, mask_was_saved = 0}}, priv = {pad = {
              0x0, 0x0, 0x647330, 0x7fff31008de8}, data = {prev = 0x0, 
              cleanup = 0x0, canceltype = 6583088}}}
        not_first_call = <optimised out>
#14 0x0000000000449f71 in _start ()
No symbol table info available.


Metaserver thread:


Program terminated with signal 11, Segmentation fault.
#0  0x00007f919c91ee0a in g_slice_alloc ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#1  0x00007f919c91f1b6 in g_slice_alloc0 ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#2  0x00007f919b30688a in g_type_create_instance ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#3  0x00007f919b2eb0b9 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#4  0x00007f919b2ecc02 in g_object_newv ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#5  0x00007f919b2ed1ec in g_object_new ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#6  0x00007f919b5435e7 in pango_layout_new ()
   from /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0
No symbol table info available.
#7  0x00007f919be21849 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#8  0x00007f919be23ecc in gtk_text_layout_get_line_display ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#9  0x00007f919be25744 in gtk_text_layout_get_iter_location ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#10 0x00007f919be334f8 in gtk_text_view_scroll_to_iter ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#11 0x00007f919be337c1 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#12 0x00007f919be3413c in gtk_text_view_scroll_to_mark ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
No symbol table info available.
#13 0x00000000004d50a8 in scroll_if_necessary (textview=0x3c12010, 
    scroll_target=0x4b77da0) at chatline.c:565
        sw = <optimised out>
        vadj = 0x3bf4630
        val = <optimised out>
        upper = 71
        page_size = 71
        __FUNCTION__ = "scroll_if_necessary"
#14 0x00000000004d56c3 in real_output_window_append (
    astring=0x7f917fff8d40 "There is no newer stable release of Freeciv
available.", tags=<optimised out>, conn_id=<optimised out>) at chatline.c:920
        buf = 0x264a100
        iter = {dummy1 = 0x270f660, dummy2 = 0x7f9178012090, dummy3 = 54, 
          dummy4 = 54, dummy5 = -1, dummy6 = -1, dummy7 = 1294089185, 
          dummy8 = -1562388573, dummy9 = 0x270f600, dummy10 = 0x270f940, 
          dummy11 = 0, dummy12 = 0, dummy13 = 79134112, 
          dummy14 = 0x7f919be22679}
        mark = 0x4b77da0
        text_start_offset = 166
        __FUNCTION__ = "real_output_window_append"
#15 0x0000000000478543 in output_window_append (color=..., 
    featured_text=<optimised out>) at chatline_common.c:130
        plain_text = "There is no newer stable release of Freeciv available.",
'\000' <repeats 11 times>, "\001", '\000' <repeats 14 times>"\377,
\377\377\377\060\000\000\000
\221\377\177\221\177\000\000`\220\377\177\221\177\000\000\240\337,\233\221\177\000\000\000\000\000\000\000\000\000\000\n\000\000\000\221\177\000\000\003",
'\000' <repeats 23 times>, "P", '\000' <repeats 31 times>,
"t:\264\235\221\177", '\000' <repeats 11 times>,
"\004\000\000\000\000\000\000\220\216\377\177\221\177\000\000\360\205\000\061\377\177\000\000\300\271\377\177\221\177\000\000\000/a\241\367\267\205\345\003",
'\000' <repeats 15 times>,
"@B\001x\221\177\000\000\360\205\000\061\377\177\000\000\300\271\377\177\221\177\000\000$\033c\000\000\000\000\000"...
        tags = 0x7f9178000a10
        __FUNCTION__ = "output_window_append"
#16 0x00000000004b8c56 in parse_metaserver_data (f=<optimised out>)
    at servers.c:145
        my_comparable = 0x64a357 "2.5.99-dev"
        vertext = "There is no newer stable release of Freeciv
available.\000\000\200'\001x\221\177\000\000D\246\377\177\221\177\000\000\a\232\366\232\221\177\000\000\350Dmw\000\000\000\000\060\000\000\000\060\000\000\000\340\244\377\177\221\177\000\000
\244\377\177\221\177", '\000' <repeats 11 times>"\275,
՝\221\177\000\000R\000\000\000\000\000\000\000G\000\000\000\000\000\000\000\064\000\000\000\000\000\000\000f\000\000\000\000\000\000\000\230\361\361\232\221\177",
'\000' <repeats 18 times>,
"0iѝ\221\177\000\000\360dӝ\221\177\000\000$\273^\235\221\177\000\000\370i\362\232\221\177\000\000\060w^\235\221\177\000\000h<\362\232\221\177\000\000\360dӝ\221\177",
'\000' <repeats 11 times>"\275, ՝\221\177\000\000 \246\377\177\221"...
        file = 0x7f9178014240
        nservers = <optimised out>
        i = <optimised out>
        j = <optimised out>
        latest_ver = 0x7f9178003950 "2.4.2"
#17 meta_read_response (scan=0x4cfdd10) at servers.c:234
        f = <optimised out>
        str =
"\000\000\000\000\000\000\000\000\255,c\235\221\177\000\000\001", '\000'
<repeats 23 times>"\255, ,c\235\221\177\000\000\001", '\000' <repeats 23
times>"\255, ,c\235\221\177\000\000\001", '\000' <repeats 23 times>, "
?\001x\221\177\000\000\001", '\000' <repeats 23 times>"\257,
\307b\235\221\177\000\000\001", '\000' <repeats 23 times>"\255,
,c\235\221\177\000\000\001", '\000' <repeats 23 times>"\255,
,c\235\221\177\000\000\001", '\000' <repeats 23 times>"\255,
,c\235\221\177\000\000\001", '\000' <repeats 23 times>"\255,
,c\235\221\177\000\000\001", '\000' <repeats 23 times>"\255, ,c\235\221\177",
'\000' <repeats 26 times>, "`", '\000' <repeats 15 times>,
"\004\000\000\000\061\000\000\000[\000\000\000n\000\000\000w\000\000\000|\000\000\000"...
        srvrs = 0x0
#18 0x00000000004b917a in metaserver_scan (arg=0x4cfdd10) at servers.c:287
        scan = 0x4cfdd10
#19 0x0000000000625e0a in fc_thread_wrapper (arg=<optimised out>)
    at fcthread.c:40
        data = 0x4ceb120
#20 0x00007f919c281e9a in start_thread (arg=0x7f917fffb700)
    at pthread_create.c:308
        __res = <optimised out>
        pd = 0x7f917fffb700
        now = <optimised out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 5145131187861646703, 
                140734015505904, 140262894451136, 0, 3, -5168493612431381137,

                -5168982428625736337}, mask_was_saved = 0}}, priv = {pad = {
              0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, 
              canceltype = 0}}}
        not_first_call = 0
        pagesize_m1 = <optimised out>
        sp = <optimised out>
        freesize = <optimised out>
        __PRETTY_FUNCTION__ = "start_thread"
#21 0x00007f919b00a3fd in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#22 0x0000000000000000 in ?? ()
No symbol table info available.


Console:


(freeciv-gtk2:24438): GLib-GObject-WARNING **: instance of invalid
non-instantiatable type `(null)'

(freeciv-gtk2:24438): GLib-GObject-CRITICAL **: g_signal_handlers_destroy:
assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
*** glibc detected *** client/freeciv-gtk2: double free or corruption
(fasttop): 0x0000000004b7beb0 ***



    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?22047>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to