contents
mutoh_20080211
- 2008年02月11日(月)
FreeBSD 3.9-7 VMの現状
Croquetを実行する。
fuji% CroquetSDK-1.0.18/ fuji% squeak Croquet.1.0.18.image
Croquet(Master)などをワールドにdrag & drop。
Squeakの世界では、以下のようなdebug dialogがあがる。
- Error: Cannot initialize OpenGL.
ちなみに、端末側では以下のようなエラーがでている。
fuji% squeak Croquet.1.0.18.image X error X error X error X error
実際に問題があるのは、CroquetHarness>>bounds:のエラーを出している一つ前の行のOpenGL>>newIn:でOpenGLが初期化されずにnilを返していること。
ブラウザで、OpenGLを順番に調べていくと、最終的にはOpenGL>>primCreateRenderer:x:y:w:h:の以下のプリミティブに失敗していることが分かる。
<primitive: 'primitiveCreateRendererFlags' module: 'B3DAcceleratorPlugin'>
ここから先はVMの世界を調べる。 このプラグイン自体は見ての通り、B3DAcceleratorPluginで、ソースは以下の場所にある。
- Squeak-3.9-7/platforms/unix/plugins/B3DAcceleratorPlugin/
実際にOpenGLを叩いているのは、以下のあたり。
- Squeak-3.9-7/platforms/unix/vm-display-X11/sqUnixOpenGL.X11
Fonc
山宮さんの以下のページでFonc遊びの解説があったので、ちょっと試してみようかなと思った。
fuji% svn co http://piumarta.com/svn2/idst/trunk/ idst (snip) fuji% cd idst fuji% gmake (snip) fuji% cd function/examples/peg fuji% ../../jolt-burg/main boot.k peg.k -o calc.peg.k examples/calc.peg zsh: segmentation fault (core dumped) ../../jolt-burg/main boot.k peg.k -o calc.peg.k examples/calc.peg
ありゃ?
fuji% cd ../../../function/jolt-burg fuji% LANG=C gmake test /bin/sh -ec 'cd ../objects; gmake' gmake[1]: Entering directory `/usr/home/mutoh/work/idst/function/objects' gmake[1]: Nothing to be done for `all'. gmake[1]: Leaving directory `/usr/home/mutoh/work/idst/function/objects' rm -f CodeGenerator-local.st cp -p CodeGenerator-i386.st CodeGenerator-local.st ./main boot.k sanaras.k gmake: *** [test] Segmentation fault: 11 (core dumped)
うーん。
fuji% gdb ./main GNU gdb 6.1.1 [FreeBSD] 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 "i386-marcel-freebsd"... (gdb) run boot.k sanaras.k Starting program: /usr/home/mutoh/work/idst/function/jolt-burg/main boot.k sanaras.k Program received signal SIGSEGV, Segmentation fault. 0x00000000 in ?? () (gdb) where #0 0x00000000 in ?? () #1 0x88309147 in ?? () #2 0x8830c040 in ?? () #3 0x8830b070 in ?? () #4 0x00000000 in ?? () #5 0x0824fbd4 in ?? () #6 0x0822ff60 in ?? () #7 0x88309100 in ?? () #8 0xbfbfe998 in ?? () #9 0x8830d05f in ?? () #10 0xfffffffe in ?? () #11 0x8830b070 in ?? () #12 0xbfbfe9a8 in ?? () #13 0x08060984 in CompilerOptions__verboseExec (v__closure=0xfffffffe, v_stateful_self=0x8830b070, v_self=0xbfbfe9a8) at CompilerOptions.o.c:423 Previous frame inner to this frame (corrupt stack?)