[ts-gen] Cross-session order modification and cancellation ...

pippin at owlriver.net pippin at owlriver.net
Mon Nov 24 15:48:13 EST 2008


In brief, I'll be setting up Debian on my desktop 64bit in a dual-boot
config, and trying to reproduce the problem there.  Also, you might want
to try turning optimization off in the Makefile, rebuilding the shim,
and trying the new binary out to see what happens.

> ... Platform is ubuntu 8.04 64 bit ...

I'm running gcc 4.1.2 for 64bit Centos 5.2, while our Debian testing 32bit
is at 4.3.2.  The shim is heavily tested on the former setup, and works fine
through the startup banner on the latter.  We don't currently have a Debian
testing 64bit, and that might well be the platform that would reproduce your
error.  That's why I'm doing the new install.

> Currently I get Seg faults ...  Calling from gdb it says

> Starting program: /home/n/T/TEST/shim-081121/shim --data
> [Thread debugging using libthread_db enabled]
> [New Thread 0x7f034da4f6f0 (LWP 19489)]

> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7f034da4f6f0 (LWP 19489)]
> 0x0000000000488548 in
> TradingShimDaemon1_0::ObjectTypeSystem::Compound::Compound ()

Given the constructor name, the crash is happening in the middle of
constant initialization, so although we could work together over the
list to narrow it down, with me providing modified tarballs for you
to try out, it might take awhile.  I'd like to reproduce it myself
if I can.

> Any suggestions?

You probably realize that the Makefile no longer compiles with
debugging included:

    CFLAGS   := -Wall -g
    #FLAGS   := -Wall -O3

If you wish to work on this problem in parallel with what I'm doing,
one suggestion is to turn off optimization, add the global symbols
back in, make clean, make, and then try out gdb again, as I suggested
earlier in this message.  This might well give a more useful backtrace,
and I'd be interested to see it, if you post it to the list.

Just type w, for "where", which will give a list of the leaf-most
branch of the call-graph, and post a screen-scrape of that to the list
if you don't mind.  This isn't too urgent if I can isolate the problem
with the new install, but turning off optimization (eliminating the -O3
compile flag) might just solve your problem, so I'd say it's worth trying.

In one related post, Sam suggested:

> It seems that there is a /lib64 in the Makefile, for Mysql libs.
> You might leave " LIB       = `mysql_config --libs`" uncommented.

The library list produced by mysql_config is a superset of what we need,
and leads to unnecessary problems on some platforms.  Your basic point
has merit, however, so I've modified the Makefile to grep the two mysql
libraries we need out of the results of `mysql_config --libs`, and this
change will show up in the next release.

and in another:

> ... the problem right now for me is the segfault, just like Nils:

> sam at garage:~/dev/shim-081121$ strace -f ./shim --data
> ...
> open("/home/sam/.shimrc", O_RDONLY)     = 3
> --- SIGSEGV (Segmentation fault) @ 0 (0) ---

Based on this report --- and thanks very much for this --- I'll be
looking with interest at the post-config-file initialization code.
I still hope to reproduce the crash locally; then I'll know for sure
when the problem I see goes away.  Otherwise I'd just be guessing.
You also may wish to try recompiling w/o optimization.

Hopefully I can get the Debian 64bit testing up and running without too
much delay, and hopefully that will give me a reproducer.  In any case,
feel free to send me email about this whenever you wish.



More information about the ts-general mailing list