From: Chris F. <cf...@gm...> - 2012-09-23 21:10:01
|
Hi all, I'm getting a perplexing error message with Valgrind. I get an "invalid read of size 8", but the address is inside an allocated block (and the access size doesn't go out-of-bounds). The access goes through fine but I'm debugging a segfault much later in execution (the reason I started using Valgrind just now and saw a bunch of these errors). I'm wondering if maybe there's some other reason I would see this message: ==16432== Invalid read of size 8 ==16432== at 0x43319E: trampoline() (thread.cc:134) ==16432== Address 0x646b5d8 is 56 bytes inside a block of size 72 alloc'd ==16432== at 0x4C285A4: operator new(unsigned long) (vg_replace_malloc.c:298) ==16432== by 0x432EFF: thread_new(void (*)(void*, void*, void*), void*, void*, void*, unsigned long, int) (thread.cc:142) [ snip internal stuff ] ==16432== by 0x4083AF: main (main.cc:210) If it's relevant, this is inside a little userspace-cooperative-threads package I wrote and the code is running on a malloc()'d stack. Any suggestions? Thanks! Chris Fallin |