sleyzerzon / soar

Automatically exported from code.google.com/p/soar
1 stars 0 forks source link

Soar crashes with bad input production #161

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Using Soar 9.3.2 on Windows 7.
Paste the following useless production into the Java debugger:
sp {foo
    ()
-->
}

This crashes Soar, first throwing an assert failure from line 107 of 
init_soar.cpp. The contents of the "soarerror" file are:

Error: Did not find goal for ms_change assertion: foo
Soar cannot recover from this error. 
You will have to restart Soar to run an agent.
Data is still available for inspection, but may be corrupt.
If a log was open, it has been closed for safety.

The reason I put that particular useless production in was to see if it would 
parse or not. I actually expect it to, because the following parses (though 
warnings about unbound variables are printed):
sp {foo
    ()
    (state)
-->
}

Original issue reported on code.google.com by garfield...@gmail.com on 10 Jun 2014 at 6:26

GoogleCodeExporter commented 9 years ago
I guess I should add: although that production doesn't do anything, it might be 
possible that someone could use it as a placeholder production in their code 
somewhere, with a name or documentation saying what it does, planning to come 
back and fill it in later.

Original comment by garfield...@gmail.com on 10 Jun 2014 at 6:29

GoogleCodeExporter commented 9 years ago
Another one that crashes it (instead of just printing an error) is:
sp {state-no-variable
    (<bar>)
--> (<bar> ^foo <bar>)
}

Original comment by garfield...@gmail.com on 10 Jun 2014 at 10:58

GoogleCodeExporter commented 9 years ago
Duplicated again in 9.3.4.

Original comment by garfield...@gmail.com on 5 Jul 2014 at 7:31