Known Bugs and Fixes
This page gives all the currently known bugs and possibly gives
access to corrections. Once a bug has been
corrected, the Esterel distribution is updated. Thus, if you
download the latest release of Esterel, you will have the
corrected processors.
Nevertheless, if you already have the current distribution,
you probably just want to download the corrected
processor(s). The following table sums them up:
The columns are:
- Processor
- gives the name of the processor to download.
It is an hyperlink to the bug description.
- Patch level
- patch level of the processor. Check this value against the
rcs name value given by the -info option of
the processor (you can use the esterel -info command).
- Architectures
- links to the new version of the processor for the known
architectures.
Description
The circuit translation may be incorrect in some cases, resulting
in wrong code.
State
Fixed.
Back to processor table.
Description
The C boolean equation code obtained from optimized ssc
code may be wrong on Solaris 5.6. This is a known bug that was
corrected, but for a strange reason, the C code generator was not
compiled with the right library (common p41) on Solaris 5.6.
State
Corrected. occ processor.
Back to processor table.
Description
After optimization of the ssc code, simulation may be
wrong. It can show a non emitted signal as emitted.
Technically, the ssc format contains pragmas which are
specific information for the compiler. One of these pragma (the
emitted: one) tells which signal is emitted depending on an
equation value. This is used for local signals, but also for
output signals.
After optimization and new ssc generation, it appears
that there is no good place to put the emitted: pragmas,
since optimized and non optimized have same behavior, but not the
same internal logic. As these pragma are used by the C simulation
code, one may see wrong outputs. The behavior is respected, but
the simulation output signal trace is wrong.
The work around is to suppress the emitted: pragmas in the
optimized ssc code. To do this, we provide scripts. The
scripts distribution contains help.
State
to be corrected, work around using scripts.
Back to processor table.
Description
Code generation is incorrect when using the -O option for automaton code
(options -A -O or -v3 and -O). Unfortunately, the generated C code compiles,
which makes the bug nasty.
PLEASE DO NOT USE OPTION -O UNTIL FURTHER NOTICE
State
To be corrected.
Back to processor table.
Description
Do not use /usr/ucb/cc to build a textual simulator with the
simulation library libcsimul.a. Use instead cc
from SparcWorks, or gcc. libcsimul.a internally
uses setjump and the associated structures defined in
the the C library used by /usr/ucb/cc differ from the
standard ones.
Here is what happens with the wristwatch example:
$ cd /wristwatch
$ make -f makefile.Unix CC=/opt/SUNWspro/bin/cc
$ ./sww
WRISTWATCH> ;
--- Output: MAIN_DISPLAY(1:00:00 24H) MINI_DISPLAY(1-1) ALPHABETIC_DISPLAY("SU") CHIME_STATUS(false) STOPWATCH_RUN_STATUS(false) STOPWATCH_LAP_STATUS(false) ALARM_STATUS(false)
WRISTWATCH> .
$ make -f makefile.Unix CC=/usr/ucb/cc
$ ./sww
WRISTWATCH> ;
--- Output: 6 "1:00:00 24H" 7 "1-1" 8 """SU""" 11 false 12 false 13 false 14 false
WRISTWATCH> .
$
State
No fix.
Back to processor table.
Description
The single signal
verification consists in verifying that each single is never
instantaneously multiply emitted. The analysis depends on the
reachable state space and the input care set defined by the user
defined input relations. The single signal verification was
incorrect when dealing with acyclic circuits that have relations
on inputs. The input relations where omitted and not considered in
the analysis in this particular case.
State
Fixed. Patch as a new binary for the causality analyzer processos
sccausal available.
Back to processor table.
Last modified: Mon Apr 10 12:05:13 MET DST 2000