Hello,
I think I've got a tricky one here... I've got a working
multithreaded app which sends and receives CAN messages. I'm
using this particular combination of tools becaise parts of the app
will eventually be ported to Linux (and then no longer be based on
NI-CAN). What's happening is that before main() begins to execute
under gdb, I see two segfaults: the stack for the first looks
like this:
2 _libwsock32_a_iname() 0x7c9105f8
1 <symbol is not available> 0x00000000
and the second:
7 <symbol is not available> 0x00000000
6 <symbol is not available> 0x003d8250
5 <symbol is not available> 0x003d74e6
4 _libwsock32_a_iname() 0x7c9011a7
3 _libwsock32_a_iname() 0x7c91cbab
2 _libwsock32_a_iname() 0x7c92173e
1 _libwsock32_a_iname() 0x7c921639
Then the program runs and seems to work fine. Yet an
earlier version of the same program, with I think the same combination
of tools did not do this. While trying to track it down, I
stripped the test program down to an empty main() and not linking with
any other code which uses CAN or anything else. That fixes the
problem. Then I added back in linking some code which uses CAN but
never gets called by main() and the problem recurs, leading me to
believe that something about the CAN, or pthreads library
initialization is causing this.
Does this ring a bell to anyone? Anything I could try to track it down?
thanks
-MM