|
From: Tom H. <to...@co...> - 2006-01-16 10:53:02
|
In message <88F...@br...>
Richard Frith-Macdonald <ri...@br...> wrote:
> On 16 Jan 2006, at 08:55, Tom Hughes wrote:
>
>> Possibly - if you use --trace-children=yes do you see a whole stream
>> of valgrind startup messages appearing?
>
> No ... I guess I misdiagnosed the problem ... what I actually got was
> 1. a valgrind log file saying that there were too many errors and
> logging had stopped.
> 2. a system where the tomcat log was empty, and attempts to connect
> to it by apache were failing.
> This made me assume it was looping, as starting tomcat normally (ie
> without valgrind) results in a working tomcat setup visible in my web
> browser.
The LD_LIBRARY_PATH loop means that Java is not really running much
at all so I wouldn't expect to see much in the way of valgrind errors
reports in that case.
> I just tried adding '--error-limit=no' to the command line to start
> tomcat. It generates a bigger log file ... but the log file has
> stopped growing, though the valgrind/tomcat process looks like it is
> in a loop of some sort (ie a 'ps' shows it in an 'R' state).
> The log file stopped growing at 10:13, but it's now 10:40 and 'ps'
> shows the the process has now used over 28 minutes of CPU time.
Well what does strace say it is doing? What about --trace-syscalls=yes?
At end of the day my experience of trying to look at these problems
in the past is that the Sun JVM does truly disgusting things that are
often very hard to support in valgrind. It tends to stress just about
everything to the absolute limit especially things like threading and
signal handling.
My favourite one was where it seemed to be fiddling with a memory
page (either munmap or mprotect, I can't remember which) which it
didn't seem to have allocated... It seemed to just be making
assumptions about where certain things would be in memory for some
reason.
I assume you are using --smc-check=all or have turned the JIT compiler
off?
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|