certi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [certi-dev] Exception during QueryLookahead


From: Eric Noulard
Subject: Re: [certi-dev] Exception during QueryLookahead
Date: Thu, 14 Oct 2010 17:02:44 +0200

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)

message M_Query_Lookahead : merge Message {
        required double lookahead
}

"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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]