[muscle] Re: Muscle on Solaris
- From: Lior Okman <lior.okman@xxxxxxxxxxxxxxxxxxxxxxxx>
- To: muscle@xxxxxxxxxxxxx
- Date: Mon, 10 Jul 2006 19:26:05 +0300
Hi Jeremy,
Jeremy Friesner wrote:
>> Line 8 in the PulseNode.cpp file is the constructor, and the only thing
>> that happens there is the member initializations.
>>
>
> Indeed ... I can't imagine how a crash could occur in that area, unless the
> "this" pointer is invalid. (Does this=0xf840c sound valid to you? It seems
> suspiciously small to me...). Given that, I can think of a few things to try:
>
This does seem suspicious.
> 1) Put fprintf's at line 30 of StorageReflectSession.cpp and in the
> PulseNode() constructor, just to make sure the stack crawl is accurate -- if
> the crash is indeed happening where it says it is, you should see one printed
> but not the other. (since the stack crawl is a bit muddled, it's good to
> double check)
>
I will try this.
> 2) Add -DMUSCLE_AVOID_NEWNOTHROW to the Makefile to see if the bug is related
> to new (nothrow)... this flag will change it so the code always uses the
> regular new operator instead.
>
I did this, and it doesn't make any difference
> 3) Upgrade your compiler to a newer version (4.x?) and see if the crash goes
> away then.
>
I'm afraid that isn't possible.
However I recompiled MUSCLE as a 64bit binary (added -m64 to the CC
options) and all my problems went away. Something in the 32bit
optimizations make MUSCLE fail on 32bit SPARC Solaris.
My other lead is to not specify -O at all, and start adding the -f
options that the various -O switches actually aggregate and see which
optimization is causing the problem. I'll report back on this later (I'm
a bit swamped at the moment).
> -Jeremy
>
>
Regards,
Lior
- References:
- [muscle] Re: Muscle on Solaris
- From: Jeremy Friesner
Other related posts:
- » [muscle] Muscle on Solaris
- » [muscle] Re: Muscle on Solaris
- » [muscle] Re: Muscle on Solaris
- » [muscle] Re: Muscle on Solaris
- » [muscle] Re: Muscle on Solaris
- [muscle] Re: Muscle on Solaris
- From: Jeremy Friesner