[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 2177] Re: adarrel5, monza5.



小川です。


さっそくですが、気がついたので報告。
的ハズレな事を言っていたらごめんなさい。

>   これとは全く別の話です。
>
>   最近のOSASKは、どうも不安定になっているような気がします。調子
> がいい時は何ともないんですが、時々不意に例外を出して止まってしま
> います。同じ状況にしても再現しないし、例外が出る場所や内容も毎回
> 異なっていて、対策が取れずにいます。

 テトリス作ってる時も何度か落ちました。
 原因ははっきりしていて、

int a[10][20]

 と宣言しておきながら

a[50][50]

 みたいな事をやった事。

 が、即座に死ぬわけではなく別な変数領域を侵したりして、
 限界点(?)に達すると落ちます。

 これって malloc 領域のはみ出しだけを、チェックしているからなのでは?

 テトリスの例だと、壁の判定を加える前にブロックを動かした時に、

Y = 20        正常 (宣言内)
Y = 21        正常 (宣言外)
 ・・・
Y = 40ぐらい  落ちる

 となりました。
 
 デバッグ用にYの値を表示していたのでわかった事です。

 なお、Y=25辺り以降はブロックが画面外に行ってしまった事を
 付け加えて起きます。VRAM系かも知んないし。


 つまり、アプリのどれかに潜在的、かつ致命傷を起こさないバグが潜み、
 そいつが引き金となって別な変数が死に・・・という訳です。

 よって再現性が現れにくい、と。


>   そう遠くないうちに、時間をかけてバグの洗い出しをやろうと考えて
> います(遅くとも年内には決着を付けたいです)。

 また何かあったら報告しま〜す。OSASKのバージョンは 1.6です。



ではさいならぁ(^^)/~~~
-------------------------------------------
小川 勲
gyaplus !Atmark! cds.ne.jp
www18.cds.ne.jp/~gyaplus/
-------------------------------------------