[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freewnn:00918] Re: dtoa SEGV
- To: freewnn@XXXX
- Subject: [freewnn:00918] Re: dtoa SEGV
- From: Hiroo Ono <hiroo@XXXX>
- Date: Wed, 11 Sep 2002 01:19:56 +0900
- In-reply-to: <020910193001.M0122878@ikoma.cc.osaka-kyoiku.ac.jp>
- Reply-to: freewnn@XXXX
- User-agent: Wanderlust/2.8.1 (Something) SEMI/1.14.3 (Ushinoya) FLIM/1.14.3 (Unebigoryōmae) APEL/10.3 Emacs/21.2 (i386--freebsd) MULE/5.0 (SAKAKI)
小野寛生です
すみません。こっちは jserver の方をひと区切りつけてから手をつける
つもりです。
% それまでに解決していると嬉しいですが :p
At Tue, 10 Sep 2002 19:30:01 JST,
Tomoki AONO wrote:
> 確認ですが、currentではなくRedHatのパッケージ(SRPM)+パッチ
> の構成ですよね?
> #currentだったら小野さんのmalloc -> callocの変更でなんと
> #かなるかもしれないので。
jserver を nm して、malloc1 というのが見えたら (これまでの snap は全て
そのはずですが)、
・malloc のかわりに calloc している。
・realloc は、新しいサイズを calloc した後に、元のデータを bcopy
(FreeBSD で malloc.conf を Z にするのに相当)
となっているので、この件はあまり関係ないでしょう。
> この時点まではエラーメッセージらしきものはない、と理解して
> いいでしょうか。
> >> ※ コード中に適度に assert があるべきだと思う。
> 御意。いまどきのソフトとしては想定外の入力ごときで落ちては
> いけないのです(単なる私見)。
FreeWnn の source を見ていると、私の拙いプログラミングの知識で見ても
(見ると?) invariant 条件のチェックはかなり怪しく感じます。
dtoa に 頻度ファイル食わせると、Wnn Malloc Error とか (エラーメッセー
ジは不正確です) いって落ちるとか、jserver で realloc 使っているところ
はエラー処理を一応はしているものの、realloc は失敗しないという期待の
もと書かれているように思えるとか。
> - jserverにSIGSEGV のハンドラをつけましょうか?
> #基本的にSIGSEGVしましたよ、以上のことは記録できないでしょ
> #う。
あまり意味はないと思います。
-g2 でコンパイルしていただいた上で、core が出来れば十分と思います。
> - (currentを使っている場合は)gdb jserverで、
> [freewnn:00896] を参考にforkしないようにした上でクラッシュ
> するまで(continueで)進めた上でbacktraceとっていただく、と
> いうのはできますか。
core を backtrace って出来ませんでしたっけ?