This is definetly a wx problem, but the callstack showes the most recent call as libg. I can trigger it easily with the following python script
(I run it with "cat | python")
btw, if you change the length of the title in the wx.Button you get different errors - so basically there is some bad pointer arithmetic going on in that wx.Button call (which is of course a wrapper for the real wxWidgets call).
(it crashes when you press the button)
HTH,
Alon
p.s. The 3 first lines from the stack trace:
*** glibc detected *** python: munmap_chunk(): invalid pointer: 0x085795a0 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(cfree+0x1bb)[0xb7eae6eb]
/usr/lib/libglib-2.0.so.0(g_free+0x31)[0xb7cc58e1]
/usr/lib/libwx_gtk2u_core-2.8.so.0[0xb755aa70]
Preliminaries:
I'm using gutsy
This is definetly a wx problem, but the callstack showes the most recent call as libg. I can trigger it easily with the following python script
(I run it with "cat | python")
import ctypes CDLL('/ usr/lib/ libgthread- 2.0.so. 0') init(ctypes. c_voidp( 0))
gt=ctypes.
gt.g_thread_
import wx
class BugApp(wx.App):
self.Bind( wx.EVT_ BUTTON, self.OnButton, b)
frame. Show()
def OnInit(self):
self.frame = frame = wx.Frame(None)
# double free or corruption
b = wx.Button(frame, -1, "dfree | corruption", (20,20))
# stranger stuff
b = wx.Button(frame, -1, "free or corruption", (20,20))
return True
def OnButton(self, evt):
wx.TextEntryDi alog(self. frame, "some text", "some text")
app = BugApp()
app.MainLoop()
btw, if you change the length of the title in the wx.Button you get different errors - so basically there is some bad pointer arithmetic going on in that wx.Button call (which is of course a wrapper for the real wxWidgets call).
(it crashes when you press the button)
HTH,
Alon
p.s. The 3 first lines from the stack trace: i686/cmov/ libc.so. 6(cfree+ 0x1bb)[ 0xb7eae6eb] libglib- 2.0.so. 0(g_free+ 0x31)[0xb7cc58e 1] libwx_gtk2u_ core-2. 8.so.0[ 0xb755aa70]
*** glibc detected *** python: munmap_chunk(): invalid pointer: 0x085795a0 ***
======= Backtrace: =========
/lib/tls/
/usr/lib/
/usr/lib/