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
[email protected]
https://mail.gna.org/listinfo/freeciv-dev