[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:5001] Re: crash Meadow-2.00pre2



> (1) 矢木さんの .emacs の (require 'jisx0213) をコメントアウト
> (2) M-x tetris
> (3) C-h SPC

 私のところでも再現できたのでちょっと眺めてみましたが, 原因はきっ
ちりヒープの破壊ですね. リンクが壊れてます.

 free_internal でリンクチェックのコードを入れるとmakeの途中で(el 
のコンパイル(loadup)) ですでに終わってる;_;

# 勘違いじゃなければ動いているのが奇跡的な状況に見えます.

## 下のようなチェックでコア吐くはずはないですよね?

--- gmalloc.c	(revision 3280)
+++ gmalloc.c	(working copy)
@@ -1158,6 +1158,21 @@
       prev = (struct list *) ((char *) ADDRESS (block) +
 			      (_heapinfo[block].busy.info.frag.first << type));
 
+      {
+	struct list * p;
+	int i;
+	p = prev;
+	for(i = 0 ; i < 100000 ; i++) {
+	  if(p == NULL) break;
+	  p = p->prev;
+	}
+	p = prev;
+	for(i = 0 ; i < 100000 ; i++) {
+	  if(p == NULL) break;
+	  p = p->next;
+	}
+      }
+
       if (_heapinfo[block].busy.info.frag.nfree == (BLOCKSIZE >> type) - 1)
 	{
 	  /* If all fragments of this block are free, remove them

-- 
ほりぐちきょうたろう