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

AltStyle によって変換されたページ (->オリジナル) /