No. | : 10076 |
Title | : Re^2: SAD Update. V1.0.10.6.15.2k64 Class |
Date | : 2014/11/14(Fri) 10:14:50 |
Name | : Akio Morita |
URL | : |
> 1. The definition syntax of Class is changed to avoid a crash when something like C=Class[{},{},] is declared by mistake. This change should not affect anything for a properly written program.
>
手元の環境でのamorita branch上の検証では、
* gsから実行すると C = Class[{}, {}, ]の評価時に不正命令トラップが発生する
* sad*.exeを直接実行し FFSに入って C = Class[{}, {}, ]を評価するとGeneral::deepになる
という症状で、原因は次のようなものであると推定しています
(*1) C = Class[{}, {}, ]の評価時に、ClassのUpSetDelayed定義にループが存在し式評価が無限ループする
(*2) gsスクリプトでマシンスタックが制限されているため、SADスタックが尽きる前にマシンスタックが尽きている、もしくは、スタックオーバーランの結果メモリ破壊が発生している
Classの定義修正は(*1)に対する修正
- WebForum -