how is this *.msg file used to generate
source code? What are the changes that need to be implemented?
Bugfixing this lookahead problem is
just a matter of inserting one initialitzation line into M_Query_Lookahead
class constructor.
But I'm a litte afraid that this issue
is hidden in several more places...
Best regards,
Michael
Dipl.-Inf. Michael Raab
Fraunhofer-Institut für Fabrikbetrieb und -automatisierung IFF
Virtuell Interaktives Training
Sandtorstr. 22, 39106 Magdeburg, Germany
Telefon +49 (0) 391/ 40 90 122
Telefax +49 (0) 391/ 40 90 115
address@hidden http://www.iff.fraunhofer.de
oder http://www.vdtc.de
Von:
Eric Noulard <address@hidden>
An:
CERTI development discussions
<address@hidden>
Datum:
10/14/2010 05:03 PM
Betreff:
Re: [certi-dev]
Exception during QueryLookahead
Gesendet von:
address@hidden
2010/10/14 Michael Raab <address@hidden>:
> Hi all,
>
> I have a problem with CERTI latest CVS. I'm calling the QueryLookahead()
> service and get an invalid float point operation exception.
> After some invaestigation it seems that CERTI tries to serialize an
> uninitialized lookahead variable into the service request message.
> Shouldn't that value be initialized before?
Yes it should, you are right.
In fact the specification of this message says:
(see certi/scripts/CERTI_Message.msg)
"required" means the message should ALWAYS contain a lookahead
value,
thus the value MUST be initialized.
> Crash is in M_Classes.cc M_Query_Lookahead::serialize() ->
> msgBuffer.write_double(lookahead);
>
> Maybe this is not the only location were this may happen?
Yes may be.
In fact this kind of trouble may theoretically be solved once for good
because we now generate ALL messages
(M_xxx or NM_xxx messages) handling source code
using the CERTI message generator so that we could generate self-verifying
code
for such issue.
The status now is: the generator has not the feature now :-(.
Anyone wanting to enhance the generator with such capability
will be welcomed (and will probably get some help too).
In the meantime, you can seek for M_Query_Lookahead creation
and see where initialization is missing.
If you propose appropriate patch and post it to the tracker, I'll review
it
as-fast-as possible and merge it.
--
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org