Gauche > Archives > 2012/02/08

2012/02/08 02:33:38 UTCnekoie
#
なるほどです。今調べたら、0.8.12頃はマッチしていました。
#
gosh> (#/(?i:Ψ)/ "Ψ")
#<<regmatch> 0x815f900>

Gauche scheme interpreter, version 0.8.12 [utf-8,pthreads]
2012/02/08 10:01:31 UTC(び)
#
Testing control ... /bin/sh: line 1: 71783 Segmentation fault: 11 GAUCHE_TEST_RECORD_FILE=../test.record top_srcdir=.. ./gosh -ftest -I../test $testfile >> test.log
#
% sw_vers
ProductName:	Mac OS X
ProductVersion:	10.7.3
BuildVersion:	11D50
#
です
#
ミーティング中なのでとりあえず現象の報告だけです。
2012/02/08 11:03:20 UTCshiro
#
うがぁ。続報待ち。
2012/02/08 11:36:34 UTC齊藤
#
スレッド作るとクラッシュするようになった…。 3febe08 からです。
2012/02/08 11:43:05 UTCshiro
#
む。確かにスレッド関係いじってる。齊藤さんもOSX?
2012/02/08 11:43:34 UTC齊藤
#
Windows7 です。
2012/02/08 11:44:20 UTCshiro
#
お、じゃあVistaでも再現するかな。やってみる。
2012/02/08 12:06:03 UTCshiro
#
確かに落ちますね。
2012/02/08 12:11:48 UTCshiro
#
こんだけ確実に落ちるということはなにかアホなことをやってる可能性が高いが…
2012/02/08 12:35:12 UTCshiro
#
ああ、Windowsの方はわかった。GetCurrentThread()って本物のスレッドハンドルを返すんじゃなくて、「自分自身」を示す特殊な値を返すのね。
2012/02/08 13:08:11 UTC(び)
#
threadsでもSEGV喰らってますね
#
まずは、connrolの方から
#
<control.thread-pool>----------------------------------------------------------
testing bindings in #<module control.thread-pool> ... ok
test pool, expects (5 #t 5 #f) ==> ok
test doit, expects #(0 1 2 3 4 5 6 7 8 9) ==> ok
test error results, expects (ng ng ng ng ng) ==> ok
test add-job! backlog, expects #t ==> ok
test add-job! timeout, expects #f ==> ok
test add-job! backlog, expects #t ==> ok
test wait-all timeout, expects #f ==> ok
test shutdown - raising <thread-pool-shutting-down>, expects #<<thread-pool-shut-down>> ==> ok
test shutdown - killing a job in the queue, expects killed ==> ok
test shutdown check, expects finished ==> ok
test forced shutdown, expects killed ==> Testing debug features ========================================================
#
% gdb src/gosh /cores/core.73851
GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Thu Nov  3 21:59:02 UTC 2011)
Copyright 2004 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 "x86_64-apple-darwin"...Reading symbols for shared libraries ... done

Reading symbols for shared libraries . done
Reading symbols for shared libraries ................................... done
#0  dynwind_body_cc (result=0x100ac9300, data=<value temporarily unavailable, due to optimizations>) at vm.c:1734
1734	    vm->handlers = prev;
(gdb) bt
#0  dynwind_body_cc (result=0x100ac9300, data=<value temporarily unavailable, due to optimizations>) at vm.c:1734
#1  0x00000001000132af in run_loop () at vmcall.c:189
#2  0x0000000100008f70 in user_eval_inner (program=<value temporarily unavailable, due to optimizations>, codevec=<value temporarily unavailable, due to optimizations>) at vm.c:1359
#3  0x0000000100009eaf in Scm_ApplyRec (proc=0x1006a7eb0, args=<value temporarily unavailable, due to optimizations>) at vm.c:1454
#4  0x000000010000a25f in safe_eval_wrap (kind=2, arg0=0x100224938, args=0x1006a55d0, cstr=0x0, env=0xb, result=0x7fff5fbff488) at vm.c:1601
#5  0x00000001000d175b in Scm_Load (cpath=<value temporarily unavailable, due to optimizations>, flags=<value temporarily unavailable, due to optimizations>, packet=0x7fff5fbff658) at load.c:481
#6  0x0000000100001b03 in main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>) at main.c:526
Current language:  auto; currently minimal
2012/02/08 13:19:37 UTC(び)
#
threadsの方は
#
test thread-sleep! #<time-utc 1328706369.501681000>, expects #t ==> ok
test thread-status, expects new ==> ok
test thread-status, expects runnable ==> ok
test thread-status, expects stopped ==> ok
test thread-status, expects stopped ==> ok
test thread-status, expects runnable ==> ok
#
ここでログが途切れてました。
#
そしてbt
#
% gdb src/gosh /cores/core.73561
GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Thu Nov  3 21:59:02 UTC 2011)
Copyright 2004 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 "x86_64-apple-darwin"...Reading symbols for shared libraries ... done

Reading symbols for shared libraries . done
Reading symbols for shared libraries .................................... done
#0  0x00000001000ab916 in Scm_Format (out=0x100657e10, fmt=0x100741f00, args=0x7fff5fbfe3d0, sharedp=1) at write.c:970
970	    PORT_SAFE_CALL(out, format_proc(SCM_PORT(out), fmt, args, sharedp));
(gdb) bt
#0  0x00000001000ab916 in Scm_Format (out=0x100657e10, fmt=0x100741f00, args=0x7fff5fbfe3d0, sharedp=1) at write.c:970
#1  0x0000000100108a61 in libio_25format (SCM_FP=<value temporarily unavailable, due to optimizations>, SCM_ARGCNT=<value temporarily unavailable, due to optimizations>, data_=<value temporarily unavailable, due to optimizations>) at libio.scm:539
#2  0x00000001000122e9 in run_loop () at vmcall.c:186
#3  0x0000000100008f70 in user_eval_inner (program=<value temporarily unavailable, due to optimizations>, codevec=<value temporarily unavailable, due to optimizations>) at vm.c:1359
#4  0x0000000100009eaf in Scm_ApplyRec (proc=0x1006a7eb0, args=<value temporarily unavailable, due to optimizations>) at vm.c:1454
#5  0x000000010000a25f in safe_eval_wrap (kind=2, arg0=0x100224938, args=0x1006a55d0, cstr=0x0, env=0xb, result=0x7fff5fbff488) at vm.c:1601
#6  0x00000001000d175b in Scm_Load (cpath=<value temporarily unavailable, due to optimizations>, flags=<value temporarily unavailable, due to optimizations>, packet=0x7fff5fbff658) at load.c:481
#7  0x0000000100001b03 in main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily una
2012/02/08 21:04:51 UTCshiro
#
再現条件は絞れてきたけど、なぜこれが原因なのかがまだわからん
2012/02/08 21:59:23 UTCshiro
#
いや、わかったかな。だが時間切れ。