Complete.Org: Mailing Lists: Archives: freeciv-dev: September 2004:
[Freeciv-Dev] Re: (PR#10303) AutoReply: FTWL/SDL: segmentation fault, bu
Home

[Freeciv-Dev] Re: (PR#10303) AutoReply: FTWL/SDL: segmentation fault, bu

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients: ;
Subject: [Freeciv-Dev] Re: (PR#10303) AutoReply: FTWL/SDL: segmentation fault, buffer overrun likely
From: "Marek \"Baczek\" Baczyński" <imbaczek@xxxxxxxxx>
Date: Fri, 24 Sep 2004 13:56:03 -0700
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=10303 >

> Strange segfault, buffer overrun or just uninitialized data. To
> reproduce: after connect press ', type something, press '. Likely to
> die earlier.

I did some research. Here's what I found:

2: ogg_add(13,<Leopold III> ancd)
2: id=13 conn=0x8575c28 player=none
2: handle destroy
Hardware watchpoint 4: selected_widget->key

Old value = 
    (_Bool (*)(struct sw_widget *, const struct be_key *, void *))
0x80ebc40 <key>
New value = 
    (_Bool (*)(struct sw_widget *, const struct be_key *, void *)) 0x54545454
0x40345241 in memset () from /lib/tls/libc.so.6
(gdb) bt
#0  0x40345241 in memset () from /lib/tls/libc.so.6
#1  0x085ff438 in ?? ()
#2  0x00000000 in ?? ()
#3  0xbffff618 in ?? ()
#4  0x080eb1a0 in real_widget_destroy (widget=0x8577798) at widget.c:441
Previous frame inner to this frame (corrupt stack?)
(gdb)  

It's a dangling pointer problem: the widget gets freed, but the
global(s) still point to it. Will try to fix it.

-- 
{ Marek Baczyński :: UIN 57114871 :: GG 161671 :: JID imbaczek@xxxxxxxxxxxxx  }
{ http://www.vlo.ids.gda.pl/ | imbaczek at poczta fm | http://www.promode.org }
.. .. .. .. ... ... ...... evolve or face extinction ...... ... ... .. .. .. ..




[Prev in Thread] Current Thread [Next in Thread]