Hello Martin,

On 20. Oct 2010, at 10:30, Martin Lambers wrote:

> With the latest SVN Equalizer version, it seems that the creation of
> eq::Node, eq::Pipe, ... is triggered in eq::Config::init() in the line
> 'while( !localNode->isRequestServed( packet.requestID ))'.

That has been like that for a long time. The spec says that these entities are 
created from the app main thread.

> However, when I call eq::Config::init() from my own Config class, this
> does not happen, and this line leads to a crash:

==11406== Jump to the invalid address stated on the next line
==11406==    at 0xD64BDC0: ???
==11406==    by 0x68DA849: 
eq::net::CommandFunc<eq::net::Dispatcher>::operator()(eq::net::Command&) 
(commandFunc.h:48)
==11406==    by 0x68DA2C6: 
eq::net::Dispatcher::invokeCommand(eq::net::Command&) (dispatcher.cpp:121)

Somehow the command dispatch is broken. Each packet has a command ID 
(net::Packet::command), for which a requestHandler (C++ method) is registered. 
Either your packet.command or your dispatch table is broken.

Are you sure the correct equalizer lib is linked (attn name change to 
libEqualizer)?

If yes, can you look at the command and dispatch table in a debugger? Using a 
debug build should also give you an assertion earlier with some diagnostic 
message.


HTH,

Stefan.


_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com

Reply via email to