Bug History

Zorro is currently one of the most stable and robust development systems, and we're going to great lengths for keeping it that way. Before a new version is released, it is beta tested several weeks by hundreds of strategy developers and users, thus ensuring that the new release has no obvious or severe bugs. Still, no software is completely bug-safe (click for proof). You'll find below a list of all bugs ever found in any released Zorro version.

If your strategy doesn't work as expected, but you looked through the bug list of your Zorro version below and found no match, the reason is most likely not a Zorro bug - even if you're sure that it is so. Read under Troubleshooting how to quickly identify and fix bugs of your script. If you've encountered one of the below listed bugs, use the described workaround or get the latest fixed version on the Download page. If you found a previously unknown Zorro bug, please contact support@opgroup.de with a description and the script and log.

Zorro 1.96 list of bugs

Zorro 1.88 list of bugs

Zorro 1.84 list of bugs

Zorro 1.74 list of bugs

Zorro 1.66 list of bugs

Zorro 1.60 list of bugs

Zorro 1.56 list of bugs

Zorro 1.54 list of bugs

Zorro 1.50 list of bugs

Zorro 1.46 list of bugs

Zorro 1.40 list of bugs

Zorro 1.34 list of bugs

Zorro 1.28 list of bugs

Zorro 1.26 list of bugs

Zorro 1.24 list of bugs

Zorro 1.16 list of bugs

Zorro 1.12 list of bugs


Proof of unprovability of bug-free programs

You can never be sure that an arbitrary program is bug-free and won't crash - for instance, freeze by an endless loop - with all possible parameters that it processes. In case of Zorro, 'all possible parameters' means all possible scripts and data. Alan Turing found the proof 70 years ago. Consider a function BugFree that can test whether a program with certain entry parameters crashes or not. BugFree looks like this (in pseudo code):

function BugFree(Program,Parameters)
{   
   if(Program does not crash with given Parameters) 
     return 1; 
   else 
     return 0;
}

Of course BugFree shall not crash itself, but terminate properly even when the tested Program crashes. Now we define a recursive function TestMe that calls BugFree:

function TestMe(Program)
{
   if(BugFree(Program,Program)) 
     TestMe(Program); 
}

This evil function only terminates when Program does not crash when it gets itself as a parameter. Otherwise TestMe calls itself endlessly and freezes. If you now call TestMe with itself as a parameter, you'll get a contradiction:

TestMe(TestMe); 

This call does not crash only when it crashes. Therefore a function like BugFree cannot exist. Therefore you can never prove that Zorro won't crash with your script and data.

 

► latest version online