[Freewnn-users 97] Re: (NetBSD) 今更 mule-2.3 (core dump)

Back to archive index

藤原 誠/ Makoto Fujiwara makot****@ki*****
2011年 12月 5日 (月) 11:52:06 JST


>                                                    藤原 誠
青野さん、ありがとうございます。
実は、# 93 のメールは(ちょうどこちらのサーバの障害があったのが原因で)
読み落していました。申訳けございません。(実は #91 もです)。

| もし試されたのが64ビット環境(NetBSD/amd64?)だと、以前Linux
| で問題になったプロトタイプ宣言不足によるポインタなどの受け
| 渡し間違いの可能性がありそうです。

こちらの OS もお知らせしていなくて申訳けありません。
NetBSD/i386 5.0_STABLE です。amd64 では多分同様に全く作れません
でした。

| - muleの頃だとWnn関連コードはmule(Emacs)本体に組み込まれて
| いると思うのですが、Wnn関連のCファイルのコンパイルの際にエ
| ラーやウォーニングの類が出ていれば教えてください。

mule.c
emacs.c
canna.c
charset.c
wnnfns.c
等で、#include <strings.h> を入れると、消せるようなお知らせ
が出ています。同様に freewnn 側にも 
rk_main.c
js.c
jl.c
msg.c
jlv3.c 
に同じように
jlv3.c:620: warning: incompatible implicit declaration of built-in function 'strlen'
が出ています。

これについては、確か (mule 側と freewnn の両方の)全てに
#include <strings.h>
を入れて、試したのですが、変化はなかったです。

| - backtraceを見る限りでは、明らかにWnnと関係ない場所のよう
| な気がします。念のためgdbから(「run -batch -l …」などで) 
| 対話モードでemacsファイルを実行して、SegFaultが発生した時
| 点のbacktraceが上記と異なるか見ていただけないでしょうか。

これは同じでした。「同じです」と言っても不充分だと思うので、長
くなりますが、最後に添付します。

ありがとうございます。
ちなみに、今の自分の理解は

・mule 側に fprintf を入れて調べた限りでは、alloc.c の中の、
current_string_block のポインタが、いつの間にか 0 になっている
のが原因。これは alloc.c の中だけで参照されている。
二つの代入文の後で値を調べたけれど、その時に 0 になっている訳
ではない

・でも freewnn-lib 側の違いで、何故ここに来るの ? 
と思っています

(以前に)調べたことを日記に書いていましたが、上にある情報以上のも
のは書いてありませんでした。
  http://www.ki.nu/~makoto/diary/2011/09/24/1.html

おつき合い大変ありがとうございます。
---
(藤原)

...
Dumping under names emacs and emacs-19.28.1
./temacs -batch -l /export/pkgsrc/editors/mule/work/mule/src/../lisp/mule-inst.el /export/pkgsrc/editors/mule/work/mule/src/../lisp/quail/[a-zA-Z]*.el
Warning: arch-dependent data dir (/usr/pkg/lib/mule/19.28/i386--netbsd/) does not exist.
Loading /export/pkgsrc/editors/mule/work/mule/src/../lisp/mule-inst.el...
./emacs -batch -l /export/pkgsrc/editors/mule/work/mule/src/../lisp/mule-diag.elc -f dump-charset
gmake[1]: *** [../etc/charset] Segmentation fault (core dumped)
gmake[1]: Leaving directory `/export/pkgsrc/editors/mule/work/mule/src'
gmake: *** [src] Error 2
*** Error code 2

Stop.
make: stopped in /export/pkgsrc/editors/mule
*** Error code 1

Stop.
make: stopped in /export/pkgsrc/editors/mule
pinapa @ makoto 08:18:59/111205(..editors/mule)% find . -name \*core
./work/mule/src/emacs.core
pinapa @ makoto 08:19:10/111205(..editors/mule)% find . -name emacs
./work/mule/info/emacs
./work/mule/src/emacs

pinapa @ makoto 08:19:51/111205(..editors/mule)% (cd work/mule/src/; gdb ./emacs )
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386--netbsdelf"...
Environment variable "DISPLAY" not defined.
TERM = xterm
Function "abort" not defined.
Breakpoint 1 at 0x8064366: file xterm.c, line 5225.
(gdb) set args -batch -l /export/pkgsrc/editors/mule/work/mule/src/../lisp/mule-diag.elc -f dump-charset
(gdb) run
Starting program: /export/pkgsrc/editors/mule/work/mule/src/emacs -batch -l /export/pkgsrc/editors/mule/work/mule/src/../lisp/mule-diag.elc -f dump-charset

Program received signal SIGSEGV, Segmentation fault.
0x080b60f4 in make_uninit_string (length=11) at alloc.c:933
933       if (fullsize <= STRING_BLOCK_SIZE - current_string_block->pos)
(gdb) bt
#0  0x080b60f4 in make_uninit_string (length=11) at alloc.c:933
#1  0x080b6231 in make_string (contents=0xbf7ffdc2 "USER=makoto", length=11) at alloc.c:912
#2  0x080b6278 in build_string (str=0xbf7ffdc2 "USER=makoto") at alloc.c:921
#3  0x080daa0f in set_process_environment () at callproc.c:1228
#4  0x08083957 in main (argc=6, argv=0xbf7fec50, envp=Cannot access memory at address 0x8
) at emacs.c:722
(gdb) 




freewnn-users メーリングリストの案内
Back to archive index