static constructors and GC initialization
Bryce McKinlay
bryce@albatross.co.nz
Tue Jan 30 17:49:00 GMT 2001
"Boehm, Hans" wrote:
> I suspect the issue here is that list of dynamic libraries was somehow
> invalid when it tried to walk it, and it thus ends up trying to mark from a
> region of memory that isn't mapped yet.
That makes sense to me.
> Alternatively, it's somehow
> It would be nice to know more about what's happening, e.g. the fault address
> (i.e. the value of "limit" in mark.c), and the output of GC_dump() when it
> fails, if that's possible.
I already wrote a patch to remove all the static c++ initializers from libgcj
(see below), so I'm not seeing the crash any more in my local tree. I'll send
you this info if I can reproduce it again later.
Unfortunatly sprof still refuses to have anything to do with libgcj.so. I
don't know why. It works fine with libgcjgc.so and libstdc++-v3.so. Thats
unfortunate because it looks like a rather useful profiling tool considering it
works with threads, and we don't need to compile with any special options.
$ sprof libgcj.so.1 profile/libgcj.so.1.profile
sprof: failed to load shared object `libgcj.so.1'
regards
[ bryce ]
More information about the Java
mailing list