First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 423
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Alexandre David <adavid@cs.aau.dk>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Jaap Wiggelinkhuizen <jaap.wiggelinkhuizen@medtronic.com>
Add CC:
CC:
URL:
Summary:

Attachment Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 423 depends on: Show dependency tree
Show dependency graph
Bug 423 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments:







View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2007-06-15 16:20
When I verify the query A[] not deadlock on my system without requesting a
diagnostic trace it works perfect and within few seconds I have the result
'property is not satisfied'. But when I do request a diagnostic trace, the
server crashes without giving any clue to the problem.

This problem came up after just a small change in my model. Before that change
checking of the query takes a very long time, I even haven't await the
termination of the verification. The latter was the case independently of
whether I requested a diagnostic trace or not.

------- Comment #1 From Jaap Wiggelinkhuizen 2007-06-18 10:37:15 -------
I have found the cause of the crash: The small change consisted of changing an
invariant of a state and the guard of a self-loop of that same state.

Before the change the invariant was c<=r where c is a local clock in the
process and r is a global integer variable that represents a rate in beats per
minute. The guard on the self loop was c>=r.

Obviously this was wrong, because comparing a clock with a rate makes no sense.
So I changed the invariant and the guard into respectively c<=minute_length/r
and c>=minute_length/r

This change caused the crash when I checked the query A[] not deadlock with
requesting a diagnostic trace. Now I have created a function to convert a rate
to its corresponding time interval and the problem is gone.

Do you have any clue why Uppaal gets in trouble when using the mentioned
invariant and guard? Is it illegal to use such constructs in a model?


(In reply to comment #0)
> When I verify the query A[] not deadlock on my system without requesting a
> diagnostic trace it works perfect and within few seconds I have the result
> 'property is not satisfied'. But when I do request a diagnostic trace, the
> server crashes without giving any clue to the problem.
> This problem came up after just a small change in my model. Before that change
> checking of the query takes a very long time, I even haven't await the
> termination of the verification. The latter was the case independently of
> whether I requested a diagnostic trace or not.

------- Comment #2 From Alexandre David 2008-09-22 18:59:36 -------
Fixed in revision 3954.
The bug is missleading in fact. The problem comes from a bad computation
of ranges with divisions. The segfault comes from a lack of check on
trace generation, this was fixed previously.

First Last Prev Next    No search results available      Search page      Enter new bug