This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Disable -lmcheck when Python has threads (Re: [BUG] gdb crash when "python import gtk")


Hi,

Here's a test case that shows the problem, semi-reliably (it is a concurrency bug):

 (gdb) python
 >from threading import Thread
 >def blah():
 >  while True:
 >    a = [ {}, {}, {}, {}, 1, 2, "abc" ]
 >
 >t = Thread(None, blah)
 >t.start()
 >
 >for i in range(100000):
 >  gdb.execute("break foo", to_string=True)
 >end
 (gdb) *** glibc detected *** /home/khooyp/Projects/Research/gdb-1/build.yubuntu/gdb/gdb: munmap_chunk(): invalid pointer: 0x09b05d10 ***
...

It is unrelated to pygtk.

Yit
August 30, 2012

On Aug 30, 2012, at 12:11 PM, Khoo Yit Phang wrote:

> Hi,
> 
> Here's the corresponding bug report for glibc stating that it is by design: http://sourceware.org/bugzilla/show_bug.cgi?id=9939
> 
> Yit
> August 30, 2012
> 
> On Aug 30, 2012, at 12:08 PM, Khoo Yit Phang wrote:
> 
>> Hi,
>> 
>> On Aug 30, 2012, at 12:04 PM, Jan Kratochvil wrote:
>> 
>>> Hi,
>>> 
>>> On Thu, 30 Aug 2012 18:00:46 +0200, Khoo Yit Phang wrote:
>>>> I ran into a similar issue as below and tracked it down: the "memory
>>>> clobbered before allocated block" (and other related messages) because
>>>> -lmcheck is not thread safe, and triggers spuriously when threads are used
>>>> in Python (e.g., the "gtk" module).
>>> 
>>> this needs some references to glibc/gtk/python maintainers statements etc.
>>> 
>>> -lmcheck is AFAIK thread safe in glibc itself.
>> 
>> -lmcheck is definitely not thread safe, at least as of glibc 2.13 (Ubuntu 11.04). See the first answer of http://stackoverflow.com/questions/314931/glibcs-lmcheck-option-and-multithreading.
>> 
>> Yit
>> August 30, 2012


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]