|
From: Julian S. <js...@ac...> - 2006-10-20 09:41:29
|
Are you sure you're not trying to allocate too much stuff onto the stack? 3.2.1 allows you a max stack of 16M and you get to segfault after that. J On Friday 20 October 2006 10:23, Paul Floyd wrote: > Hi > > I have a problem with recent versions of valgrind - my AUT works with > Valgrind 3.0.1, but fails with Valgrind 3.2.1 and 3.2.0. > > I don't have access to the source code for the dynamic library where the > error is happening. However, it's possible to get a fairly good picture of > what is going on with the --trace-signals=yes --trace-cfi=yes > --trace-syscalls=yes options. Here's a snippet of the valgrind output for > 3.0.1: > > --1721-- REDIR: 0x1CA046E0 (mallopt) redirected to 0x1B9000FA (mallopt) > SYSCALL[1721,1](191) sys_getrlimit ( 3, 0x52BDEBF8 )[sync] --> Success(0x0) > --1721-- signal 11 arrived ... si_code=1, EIP=0x1BBEE9B9, eip=0xB1EBC279 > --1721-- SIGSEGV: si_code=1 faultaddr=0x52B5EBC0 tid=1 ESP=0x52B5EBC0 > seg=0x52BC7000-0x52C00000 fl=34 shad=0x52D00000-0xB0000000 > --1721-- -> extended stack base to 0x52B5E000 > ... lots more deleted ... > --1721-- signal 11 arrived ... si_code=1, EIP=0x1BBEE9B9, eip=0xB1EBC279 > --1721-- SIGSEGV: si_code=1 faultaddr=0x50D5E440 tid=1 ESP=0x50D5E440 > seg=0x50DDE000-0x52C00000 fl=34 shad=0x52D00000-0xB0000000 > --1721-- -> extended stack base to 0x50D5E000 > SYSCALL[1721,1](183) sys_getcwd ( 0x52BDCAD0, 4095 )[sync] --> > Success(0x1C) > > And the same snippet, from 3.2.1: > --4712-- REDIR: 0x52EF6E0 (mallopt) redirected to 0x401BEB4 (mallopt) > SYSCALL[4712,1](191) sys_getrlimit ( 3, 0xBEFD99B8 )[sync] --> Success(0x0) > --4712-- signal 11 arrived ... si_code=1, EIP=0x43FCDC9, eip=0x65021323 > --4712-- SIGSEGV: si_code=1 faultaddr=0xBEF59970 tid=1 ESP=0xBEF59970 > seg=0xBDFFA000-0xBEFC1FFF > --4712-- -> extended stack base to 0xBEF59000 > ... lots more ... > --4712-- signal 11 arrived ... si_code=1, EIP=0x43FCDC9, eip=0x650214DC > --4712-- SIGSEGV: si_code=1 faultaddr=0xBDFD93A0 tid=1 ESP=0xBDFD93A0 > seg=NULL --4712-- delivering signal 11 (SIGSEGV):1 to thread 1 > --4712-- push_signal_frame (thread 1): signal 11 > ==4712== at 0x43FCDC9: simpleRecurse (main.c:1570) > --4712-- delivering signal 11 (SIGSEGV) to thread 1: on ALT STACK > (0x54DF010-0x54E1010; 8192 bytes) > SYSCALL[4712,1]( 8) sys_creat ( 0x96E95BD(vams_ms-stacktrace.dump), 438 ) > --> [async] ... > > There are 32 signals handled before the last one where seg=NULL. For that > signal, the stack does not get extended, and the AUT gets the signal > instead, and terminates. > > I've started poking around the valgrind code, but I haven't yet found where > this limit is, or how to get around it. > > A+ > Paul > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users |