[Python-Dev] valgrind

2006-11-06 Thread Herman Geza
Hi! I've embedded python into my application. Using valgrind I got a lot of errors. I understand that "Conditional jump or move depends on uninitialised value(s)" errors are completely ok (from Misc/README.valgrind). However, I don't understand why "Invalid read"'s are legal, like this: ==217

Re: [Python-Dev] valgrind

2006-11-07 Thread Herman Geza
On Tue, 7 Nov 2006, Tim Peters wrote: > When PyObject_Free is handed an address it doesn't control, the "arena > base address" it derives from that address may point at anything the > system malloc controls, including uninitialized memory, memory the > system malloc has allocated to something, me

Re: [Python-Dev] valgrind

2006-11-07 Thread Herman Geza
> > For example > > if free(addr) sees that the memory block at addr is the last block then it > > may call brk with a decreased end_data_segment. > > It can't. In brk, you can only manage memory in chunks of "one page" > (i.e. 4kiB on x86). Since we only access memory on the same page, > acces

Re: [Python-Dev] valgrind

2006-11-07 Thread Herman Geza
Thanks Martin, now everything is clear. Python always reads from the page where the about-to-be-freed block is located (that was the information that I missed) - as such, never causes a SIGSEGV. Geza Herman ___ Python-Dev mailing list Python-Dev@python