Mar 31, 1999 frc7v-cl1: Server Solaris 2.6、cc ドライバのテスト --- クライアントシステム上での cc ドライバのデバッグ#01(その14) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC/onl8v1-sol2.6-serv/ Cli1-CAMAC/debug-step14.txt) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 (1). 現状確認 (A). 株式会社ロジックハウスの白田様より SPARC CPU-8VT と、VMEドライバ v2.3.1 を借用した。 (B). 株式会社ロジックハウスの白田様より Server Solaris 2.6 のシステム がインストールされているハードディスクを借用した。 (C). 借用したハードディスクのサーバ側のシステム設定を変更して、KEK の FP クラスタ上で立ち上げた。 (D). ファイルを直接修正する方法で、クライアント(その1)側のシステム 設定を変更したがクライアントは立ち上がれなかった。 (E). Solsticeを起動してホストマネージャを使って、frc7v-cl1ディスクレス クライアントの設定をやり直した。 (F). ディスクレス・クライアントのシステム、frc7v-cl1 が起動できること を確認した。 (G). frc7v-cl1 のシステムにVMEドライバ、FRCvme-2.3.1 をインストールし、 その後、frc7v-cl1 のシステム設定をやり直した。 (H). Solsticeを起動してホストマネージャを使って、frc7v-cl2ディスクレス クライアントの設定をやり直した。 (I). ディスクレス・クライアントのシステム、frc7v-cl2 が起動できること を確認した。 (J). frc7v-cl1、クライアントのシステムに ccドライバをインストールした。 (K). frc7v-cl1、クライアントのシステム上でサンプル・プログラムを実行 シングルアクションの 24ビットread/write は ok. LAM割り込み処理は、ok. ブロック転送 read/write は NG. (L). CPU-7Vのボードで FRCvme2.3.1 が正しく動作できることを確認した。 (M). frc8vt、サーバ・システムに ccドライバをインストールした。 (N). frc8vt、サーバ・システム上でンプル・プログラムを実行 シングルアクションの 24ビットread/write は ok. LAM割り込み処理は、ok. ブロック転送 read/write は 16 および 24ビットとも、ok. (O). 株式会社ロジックハウスの高橋様の修正された ccドライバを実行したが 状況に変化はなかった。 (P). 株式会社ロジックハウスの白田様の提案より、デスクレス・クライアント のシステムにローカル・ディスクをつなぎ、マウントした後で ccドライバ を実行したが状況に変化はなかった。 (Q). cam2 プログラムを実行すると、 cc.cプログラム中のどの命令を実行 した時にパニックを起こすのか調べた。 (R). 株式会社ロジックハウスの高橋様の提案より、savecore について調べる。 savecoreコマンドにより、vmcore.x および unix.x ファイルを入手した。 (S). ドライバ・プログラムが DMA完了の待ち状態のままになっているのを 確認 (T). cam2プログラムを frc8vt、frc7v-cl1上で実行して結果を調べた。    frc8vt上での実行: (1). cv_wait_sig()コールが入っていると、そこで待ち状態が続く。 (2). cv_wait_sig()コールが入っていないと、正常終了する。    frc7v-cl1上での実行: (1). cv_wait_sig()コールが入っていると、そこで待ち状態が続く。 (U). cv_wait_sig() を while文でループさせることで、シグナルを受け取れた (V). DMA 開始前に以前の割り込み信号が残って影響を与えていないことを 確認した。 (W). バーチャル・アドレス・スペースの割り当てを追加して動作させてみたが 症状は変わらない。 (X). cc->bp へのアクセスを camac_b()ルーチンでやらないようにしてみたが 症状は変わらない。 (Y). Soft State Managementルーチンを使ってみたが症状は変わらない。 (Z). minphys のバッファサイズを大きくして試してみたが症状は変わらない。 (2). ここでやるべきこと camac_b()を呼び出す箇所で渡す値を修正する。 (3). クラッシュダンプのチェック 高橋さんからのメール >physio(0x0,0xf028c49c,0xa,0x40,0xf59148d0,0xfc004ad8)   <--- physio() >でパニックしたとき >camac_b(0xf5bf1c70,0x2a,0x600,0xfc004ad8,0xf6059f00,0xf00000) + 148 > : >camac_b()を呼び出す箇所で渡す値はおかしそうです。 (4). cc.cファイルの修正 & 実行 frc7v-cl1[99]% ls -l total 224 -rw------- 1 inoue staff 104392 Mar 30 1999 t57r.dat frc7v-cl1[100]% uudecode t57r.dat frc7v-cl1[101]% ls -l total 370 -rw-rw-rw- 1 inoue staff 74240 Mar 30 1999 cc.tar -rw------- 1 inoue staff 104392 Mar 30 1999 t57r.dat frc7v-cl1[102]% tar xvf cc.tar x cc.c, 72520 bytes, 142 tape blocks frc7v-cl1[103]% ls -l total 512 -rw-r--r-- 1 inoue staff 72520 Mar 30 11:26 cc.c -rw-rw-rw- 1 inoue staff 74240 Mar 30 1999 cc.tar -rw------- 1 inoue staff 104392 Mar 30 1999 t57r.dat frc7v-cl1[104]% mv cc.c ../.. frc7v-cl1[108]% cd ../.. /export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5 frc7v-cl1[109]% ls Makefile cc.c cc.c.diff-Mar19.1999 README cc.c-Feb-23-99* cc.conf cam1* cc.c-Mar-12-99* cc.h cam1.c cc.c-Mar-19.1999 cc.h-org cam2* cc.c-Mar-2-99* cc.new.c* cam2.f cc.c-Mar-23.1999* cc_common.h cam2.nm cc.c-Mar-24-1999* cc_config.h cam3* cc.c-Mar-24a-1999 forlib.c cam3.c cc.c-Mar-30.1999 forlib.o camlib.c cc.c-Mar-8-99* k2917.h camlib.h cc.c-debug* ktaka/ camlib.o cc.c-org libcamac.a cc cc.c.Logichouse script/ frc7v-cl1[110]% cc.cファイルの修正個所 frc7v-cl1[110]% diff cc.c-Mar-30.1999 cc.c 132c132 < static int camac_s(struct cc_device *cc, u_short mode, u_short naf, --- > static int camac_s(int unit, u_short mode, u_short naf, 134c134 < static int camac_b(struct cc_device *cc, u_short mode, u_short naf, --- > static int camac_b(int unit, u_short mode, u_short naf, 662c662 < camac_s(cc, mode, naf, data_area); --- > camac_s(unit, mode, naf, data_area); 677c677 < camac_s(cc, mode, naf, data_area); --- > camac_s(unit, mode, naf, data_area); 680c680 < camac_s(cc, mode, naf, data_area); --- > camac_s(unit, mode, naf, data_area); 705c705 < camac_b(cc, mode, naf, len, &retlen); --- > camac_b(unit, mode, naf, len, &retlen); 708c708 < camac_b(cc, mode, naf, len, &retlen); --- > camac_b(unit, mode, naf, len, &retlen); 711c711 < camac_b(cc, mode, naf, len, &retlen); --- > camac_b(unit, mode, naf, len, &retlen); 1016,1017c1016,1017 < camac_s(cc, CC_BIT24, NAF(30, 13, 17), (u_short *)data); < camac_s(cc, CC_BIT16, NAF(30, 0, 1), &sdat); --- > camac_s(unit, CC_BIT24, NAF(30, 13, 17), (u_short *)data); > camac_s(unit, CC_BIT16, NAF(30, 0, 1), &sdat); 1019c1019 < camac_s(cc, CC_BIT16, NAF(30, 0, 17), &sdat); --- > camac_s(unit, CC_BIT16, NAF(30, 0, 17), &sdat); 1025,1026c1025,1026 < camac_s(cc, CC_BIT24, NAF(30, 13, 17), (u_short *)&idat); < camac_s(cc, CC_BIT16, NAF(30, 0, 1), &sdat); --- > camac_s(unit, CC_BIT24, NAF(30, 13, 17), (u_short *)&idat); > camac_s(unit, CC_BIT16, NAF(30, 0, 1), &sdat); 1028c1028 < camac_s(cc, CC_BIT16, NAF(30, 0, 17), &sdat); --- > camac_s(unit, CC_BIT16, NAF(30, 0, 17), &sdat); 1178c1178 < if (status = camac_s(cc, CC_BIT16, cc->ptr_list[1], cc->ptr_kdata)) --- > if (status = camac_s(getminor(cc->dev), CC_BIT16, cc->ptr_list[1], cc->ptr_kdata)) 1196c1196 < if (status = camac_s(cc, CC_BIT24, cc->ptr_list[1], cc->ptr_kdata)) --- > if (status = camac_s(getminor(cc->dev), CC_BIT24, cc->ptr_list[1], cc->ptr_kdata)) 1211c1211 < return camac_s(cc, CC_BIT16, cc->ptr_list[1], ((u_short *)&cc->a_reg + 1)); --- > return camac_s(getminor(cc->dev), CC_BIT16, cc->ptr_list[1], ((u_short *)&cc->a_reg + 1)); 1218c1218 < return camac_s(cc, CC_BIT24, cc->ptr_list[1], (u_short *)&cc->a_reg); --- > return camac_s(getminor(cc->dev), CC_BIT24, cc->ptr_list[1], (u_short *)&cc->a_reg); 1225c1225 < return camac_s(cc, CC_BIT16, cc->ptr_list[1], &cc->ptr_list[2]); --- > return camac_s(getminor(cc->dev), CC_BIT16, cc->ptr_list[1], &cc->ptr_list[2]); 1235c1235 < return camac_s(cc, CC_BIT24, cc->ptr_list[1], (u_short *)&dat); --- > return camac_s(getminor(cc->dev), CC_BIT24, cc->ptr_list[1], (u_short *)&dat); 1242c1242 < return camac_s(cc, CC_BIT16, cc->ptr_list[1], ((u_short *)&cc->a_reg + 1)); --- > return camac_s(getminor(cc->dev), CC_BIT16, cc->ptr_list[1], ((u_short *)&cc->a_reg + 1)); 1249c1249 < return camac_s(cc, CC_BIT24, cc->ptr_list[1], (u_short *)&cc->a_reg); --- > return camac_s(getminor(cc->dev), CC_BIT24, cc->ptr_list[1], (u_short *)&cc->a_reg); 1258c1258 < return camac_s(cc, CC_BIT16, cc->ptr_list[1], &dummy); --- > return camac_s(getminor(cc->dev), CC_BIT16, cc->ptr_list[1], &dummy); 1286c1286 < if (status = camac_s(cc, CC_BIT24, NAF(30, 0, 1), (u_short *)&dat)) --- > if (status = camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 0, 1), (u_short *)&dat)) 1289c1289 < return camac_s(cc, CC_BIT24, NAF(30, 0, 17), (u_short *)&dat); --- > return camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 0, 17), (u_short *)&dat); 1300c1300 < if (status = camac_s(cc, CC_BIT24, NAF(30, 0, 1), (u_short *)&dat)) --- > if (status = camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 0, 1), (u_short *)&dat)) 1303c1303 < return camac_s(cc, CC_BIT24, NAF(30, 0, 17), (u_short *)&dat); --- > return camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 0, 17), (u_short *)&dat); 1313c1313 < if (status = camac_s(cc, CC_BIT24, NAF(30, 0, 1), (u_short *)&dat)) --- > if (status = camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 0, 1), (u_short *)&dat)) 1316c1316 < return camac_s(cc, CC_BIT24, NAF(30, 0, 17), (u_short *)&dat); --- > return camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 0, 17), (u_short *)&dat); 1326c1326 < if (status = camac_s(cc, CC_BIT24, NAF(30, 0, 1), (u_short *)&dat)) --- > if (status = camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 0, 1), (u_short *)&dat)) 1329c1329 < return camac_s(cc, CC_BIT24, NAF(30, 0, 17), (u_short *)&dat); --- > return camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 0, 17), (u_short *)&dat); 1344c1344 < if (status = camac_s(cc, CC_BIT24, NAF(30, 13, 17), (u_short *)&dat)) --- > if (status = camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 13, 17), (u_short *)&dat)) 1346c1346 < if (status = camac_s(cc, CC_BIT24, NAF(30, 0, 1), (u_short *)&dat)) --- > if (status = camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 0, 1), (u_short *)&dat)) 1349c1349 < return camac_s(cc, CC_BIT24, NAF(30, 0, 17), (u_short *)&dat); --- > return camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 0, 17), (u_short *)&dat); 1363c1363 < if (status = camac_s(cc, CC_BIT24, NAF(30, 13, 17), (u_short *)&dat)) --- > if (status = camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 13, 17), (u_short *)&dat)) 1365c1365 < if (status = camac_s(cc, CC_BIT24, NAF(30, 0, 1), (u_short *)&dat)) --- > if (status = camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 0, 1), (u_short *)&dat)) 1368c1368 < return camac_s(cc, CC_BIT24, NAF(30, 0, 17), (u_short *)&dat); --- > return camac_s(getminor(cc->dev), CC_BIT24, NAF(30, 0, 17), (u_short *)&dat); 1380c1380 < status = camac_s(cc, CC_BIT24, cc->ptr_list[1], (u_short *)&dat); --- > status = camac_s(getminor(cc->dev), CC_BIT24, cc->ptr_list[1], (u_short *)&dat); 1401c1401 < return camac_b(cc, mode, naf, len, &retlen); --- > return camac_b(getminor(cc->dev), mode, naf, len, &retlen); 1418c1418 < return camac_b(cc, mode, naf, len, &retlen); --- > return camac_b(getminor(cc->dev), mode, naf, len, &retlen); 1435c1435 < return camac_b(cc, mode, naf, len, &retlen); --- > return camac_b(getminor(cc->dev), mode, naf, len, &retlen); 1452c1452 < return camac_b(cc, mode, naf, len, &retlen); --- > return camac_b(getminor(cc->dev), mode, naf, len, &retlen); 1469c1469 < return camac_b(cc, mode, naf, len, &retlen); --- > return camac_b(getminor(cc->dev), mode, naf, len, &retlen); 1486c1486 < return camac_b(cc, mode, naf, len, &retlen); --- > return camac_b(getminor(cc->dev), mode, naf, len, &retlen); 1503c1503 < return camac_b(cc, mode, naf, len, &retlen); --- > return camac_b(getminor(cc->dev), mode, naf, len, &retlen); 1520c1520 < return camac_b(cc, mode, naf, len, &retlen); --- > return camac_b(getminor(cc->dev), mode, naf, len, &retlen); 1537c1537 < return camac_b(cc, mode, naf, len, &retlen); --- > return camac_b(getminor(cc->dev), mode, naf, len, &retlen); 1554c1554 < return camac_b(cc, mode, naf, len, &retlen); --- > return camac_b(getminor(cc->dev), mode, naf, len, &retlen); 1571c1571 < return camac_b(cc, mode, naf, len, &retlen); --- > return camac_b(getminor(cc->dev), mode, naf, len, &retlen); 1588c1588 < return camac_b(cc, mode, naf, len, &retlen); --- > return camac_b(getminor(cc->dev), mode, naf, len, &retlen); 2493c2493 < camac_s(struct cc_device *cc, u_short mode, u_short naf, u_short *dat) --- > camac_s(int unit, u_short mode, u_short naf, u_short *dat) 2494a2495 > register struct cc_device *cc; 2497a2499,2500 > cc = ddi_get_soft_state(cc_state,unit); > 2751c2754 < camac_b(struct cc_device *cc, u_short mode, u_short naf, int len, int *retlen) --- > camac_b(int unit, u_short mode, u_short naf, int len, int *retlen) 2753c2756,2757 < register dev_t dev = cc->dev; --- > register struct cc_device *cc; > register dev_t dev; 2756a2761,2762 > cc = ddi_get_soft_state(cc_state,unit); > 2760a2767,2768 > dev = cc->dev; > frc7v-cl1[111]% cc.cファイルをコンパイルする。 frc7v-cl1[111]% make ./script/cc_build.sh [Building for sun4m] rm -f cc.o frc7v-cl1[112]% cc および cc.confファイルをコピーし直す。 frc8vt# pwd /usr/kernel/drv frc8vt# ls -l cc* -rwxr-xr-x 1 root sys 59880 Mar 29 14:01 cc* -rwxr-xr-x 1 root sys 288 Mar 29 14:02 cc.conf* frc8vt# rcp frc7v-cl1:/export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5/cc . frc8vt# rcp frc7v-cl1:/export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5/cc.conf . frc8vt# ls -l cc* -rwxr-xr-x 1 root sys 61072 Mar 30 15:26 cc* -rwxr-xr-x 1 root sys 288 Mar 30 15:26 cc.conf* frc8vt# ccドライバをロードし直す。 frc7v-cl1# pwd /export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5 frc7v-cl1# make unload ./script/cc_unload.sh [Removing CAMAC device driver] [Removing CAMAC device driver from system] [Deleting CAMAC device files] frc7v-cl1# make load ./script/cc_load.sh [Installing CAMAC device driver] cp: cannot create /usr/kernel/drv/cc: Read-only file system cp: cannot create /usr/kernel/drv/cc.conf: Read-only file system [Adding CAMAC device driver to system] [Configuring CAMAC device driver] [Making CAMAC device files] frc7v-cl1# cam2プログラムを実行する。 frc7v-cl1[49]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 0 cam2プログラムはここでフリーズした。 システムはパニックを起こしてリブートしてしまった。 BAD TRAP: type=9 rp=fc07f8dc addr=60 mmu_fsr=326 rw=1 BAD TRAP occurred in module "cc" due to an illegal access to a user address. cam2: Data fault kernel read fault at addr=0x60, pme=0x0 MMU sfsr=326: Invalid Address on supv data fetch at level 3 pte addr = 0xf6067500, level = 3 wrong ctx/as ctx 0, as 0xf5914510 wrong ctx/as 2 ctx 0, as 0x1c pid=583, pc=0xf607dd6c, sp=0xfc07f928, psr=0x44010c1, context=0 g1-g7: f0000000, 0, f0, 7a0, f5f08a40, 1, f5f05600 Begin traceback... sp = fc07f928 Called from f60760dc, fp=fc07f998, args=0 2a 600 5 fc07fa2c 0 Called from f00bd3ac, fp=fc07fa70, args=f00000 5 600 2a fc07fb08 f5bf1bb8 Called from f0068900, fp=fc07fb80, args=f593bbf8 f5c83e9c 22 3 22 3 Called from 11f30, fp=effff8c0, args=1 600 3f53c0 5 24a70 24a80 End traceback... panic: Data fault syncing file systems... 2 done 2798 static and sysmap kernel pages 100 dynamic kernel data pages 488 kernel-pageable pages 0 segkmap kernel pages 0 segvn kernel pages 287 current user process pages 3673 total pages (3673 chunks) dumping to vp f59444dc, offset 138592 3673 total pages, dump succeeded rebooting... Resetting ... screen not found. Can't open input device. Keyboard not present. Using tty for input and output. SPARC CPU-7V, No Keyboard ROM Rev. 2.15.1, 64 MB memory installed, Serial #9157050. Ethernet address 0:80:42:b:49:ba, Host ID: 808bb9ba. apply failed. Initializing Memory \ Type help for more information ok ok boot net -r Boot device: /iommu/sbus/ledma@5,8400010/le@5,8c00000 File and args: -r 2dc00 hostname: frc7v-cl1 domainname: kek.jp root server: frc8vt root directory: /export/root/frc7v-cl1 SunOS Release 5.6 Version Generic_105181-05 [UNIX(R) System V Release 4.0] Copyright (c) 1983-1997, Sun Microsystems, Inc. configuring network interfaces: le0. Hostname: frc7v-cl1 Configuring the /devices directory FRCvme V2.3.1 VME Nexus (FGA-5000 FGA-5100) NOTICE: VME: slavewin at vme=0x0, size=0x100000 space=0x2d020617 CAMAC device driver V1.3x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at VME0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 vmemem0 at VME0: vme32d16 0x0 vmemem1 at VME0: vme16d16 0x0 vmemem2 at VME0: vme24d16 0x0 vmemem3 at VME0: vme32d32 0x0 vmemem4 at VME0: vme16d32 0x0 vmemem5 at VME0: vme24d32 0x0 vmeplus0 at VME0: vme16d16 0x0 and vme24d16 0x0 and vme32d16 0x0 and vme16d32 0x 0 and vme24d32 0x0 and vme32d32 0x0 and space 0x2f offset 0x0 and space 0x6f offset 0x0 and space 0x10 offset 0x0 and space 0x11 offset 0x0 and space 0x50 offset 0x0 and space 0x51 offset 0x0 vmedma0 at VME0 vmefdma0 at VME0 vmedvma0 at VME0 vmectl0 at VME0 Configuring the /dev directory Configuring the /dev directory (compatibility devices) The system is coming up. Please wait. checking for crash dump...System went down at Tue Mar 30 15:32:03 1999 Saving 3673 pages of image in vmcore.36 3673 pages saved. Processing modules: Done. Constructing Namelist file: /var/crash/frc7v-cl1/unix.36 Namelist file complete. default ICCFP1.kek.jp done add net default: gateway ICCFP1 NIS domainname is kek.jp starting rpc services: rpcbind keyserv done. Setting netmask of le0 to 255.255.252.0 Setting default interface for multicast: add net 224.0.0.0: gateway frc7v-cl1 "/dev/swap" is not valid for swapping. It must be a block device or a regular file with the "save user text on execution" bit set. syslog service starting. syslogd: line 24: unexpected getnetconfig failure Print services started. volume management starting. Wnn6: Key License Server started.... Nihongo Multi Client Server (Wnn6 R2.30) Finished Reading Files The system is ready. frc7v-cl1 console login: ホームディレクトリをマウントする。 onlsun1[43]% !! rlogin frc7v-cl1 Password: No directory! Logging in with home=/ Last login: Mon Mar 29 14:25:38 from onlsun1.kek.jp Sun Microsystems Inc. SunOS 5.6 Generic August 1997 frc7v-cl1% su Password: # mount frc8vt:/export/home/frc8vt /export/home/frc7v-cl1 # frc7v-cl1% logout Connection closed. onlsun1[44]% !! rlogin frc7v-cl1 Last login: Tue Mar 30 15:38:36 from onlsun1.kek.jp Sun Microsystems Inc. SunOS 5.6 Generic August 1997 frc7v-cl1[33]% ls -l total 8 drwxr-xr-x 3 inoue staff 512 Feb 9 15:34 CAMAC/ drwxr-xr-x 3 inoue staff 512 Nov 6 11:07 FORCE/ drwxr-xr-x 2 inoue staff 512 Feb 18 10:29 Ktaka/ -rw------- 1 inoue staff 592 Feb 26 16:49 mbox frc7v-cl1[34]% クラッシュ・ファイルをチェック。 frc7v-cl1[37]% adb -k unix.36 vmcore.36 physmem 3e2d $c complete_panic(0x0,0x4401ce4,0x0,0x44010e4,0x0,0xf5ae8f40) + 5c do_panic(0x1,0xfc07f78c,0x0,0x48010e4,0x8,0xf00) + a8 vcmn_err(0x3,0xf0269878,0xfc07f78c,0x3,0xffeec000,0x0) + 180 cmn_err(0x3,0xf0269878,0xfc080,0x53,0x53,0xf025e400) + 1c die(0x9,0xfc07f8dc,0x60,0x326,0x1,0xf0269878) + bc trap(0x0,0xfc07f8dc,0xf0000000,0x0,0x1,0x1) + 7e4 fault(?) + 84 bcopy(0x3,0x1,0xffaf82b0,0x0,0x0,0x3) + 4c8 bcopy(?) + 480 camac_b(0x0,0x2a,0x600,0x5,0xfc07fa2c,0x0) cc_write(0xf00000,0x5,0x600,0x2a,0xfc07fb08,0xf5bf1bb8) + 434 writev(0xf593bbf8) + 2b0 $k; */ register struct uio *uio = cc->uio; <--- ddi_get_soft_state()の前に読み 出してる cc = ddi_get_soft_state(cc_state,unit); /* E.Inoue: from */ cmn_err(CE_NOTE," camac_b: debug step01. --- enter camac_b()"); /* E.Inoue: end */ dev = cc->dev; -------------------------------------------------------------- 変更後: -------------------------------------------------------------- static int camac_b(int unit, u_short mode, u_short naf, int len, int *retlen) { register struct cc_device *cc; register dev_t dev; /* register struct K_REG *k = cc->k; */ register struct uio *uio;  <--- 構造体の確保だけにする cc = ddi_get_soft_state(cc_state,unit); /* E.Inoue: from */ cmn_err(CE_NOTE," camac_b: debug step01. --- enter camac_b()"); /* E.Inoue: end */ dev = cc->dev; *uio = cc->uio;  <--- ここでcc->uioをコピーする -------------------------------------------------------------- ----ここまで cc.cファイルのコンパイル。 frc7v-cl1[69]% ls -l total 224 -rw------- 1 inoue staff 106065 Mar 31 1999 t60r.dat frc7v-cl1[70]% uudecode t60r.dat frc7v-cl1[71]% ls -l total 370 -rw-rw-rw- 1 inoue staff 74240 Mar 31 1999 cc.tar -rw------- 1 inoue staff 106065 Mar 31 1999 t60r.dat frc7v-cl1[72]% tar xvf cc.tar x cc.c, 72520 bytes, 142 tape blocks frc7v-cl1[73]% ls -l total 512 -rw-r--r-- 1 inoue staff 72520 Mar 30 11:26 cc.c -rw-rw-rw- 1 inoue staff 74240 Mar 31 1999 cc.tar -rw------- 1 inoue staff 106065 Mar 31 1999 t60r.dat frc7v-cl1[74]% mv cc.c ../.. frc7v-cl1[75]% cd ../.. /export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5 frc7v-cl1[76]% ls -l total 966 -rw-r--r-- 1 inoue staff 2041 May 23 1997 Makefile -rw-r--r-- 1 inoue staff 2730 Jul 1 1997 README -rwxr-xr-x 1 inoue staff 13952 Feb 18 16:52 cam1* -rw-r--r-- 1 inoue staff 1170 May 13 1997 cam1.c -rwxr-xr-x 1 inoue staff 28972 Feb 18 16:53 cam2* -rw-r--r-- 1 inoue staff 2295 May 22 1997 cam2.f -rw-r--r-- 1 inoue staff 16422 Mar 9 16:29 cam2.nm -rwxr-xr-x 1 inoue staff 14480 Feb 18 16:53 cam3* -rw-r--r-- 1 inoue staff 2055 May 21 1997 cam3.c -rw-r--r-- 1 inoue staff 9740 May 21 1997 camlib.c -rw-r--r-- 1 inoue staff 1415 May 13 1997 camlib.h -rw-r--r-- 1 inoue staff 9532 Feb 18 16:52 camlib.o -rw-r--r-- 1 inoue staff 61072 Mar 30 15:24 cc -rw-r--r-- 1 inoue staff 72520 Mar 30 11:26 cc.c drwxr-xr-x 2 inoue staff 512 Mar 31 1999 cc.c-bak/ -rwxr----- 1 inoue staff 66780 Feb 24 14:19 cc.c-debug* -rw-r--r-- 1 inoue staff 64403 Jun 2 1997 cc.c-org -rw-r--r-- 1 inoue staff 288 May 13 1997 cc.conf -rw-r--r-- 1 inoue staff 2861 Mar 29 14:01 cc.h -rw-r--r-- 1 inoue staff 2748 May 13 1997 cc.h-org -rwxr----- 1 inoue staff 66215 Feb 18 16:10 cc.new.c* -rw-r--r-- 1 inoue staff 2288 May 13 1997 cc_common.h -rw-r--r-- 1 inoue staff 876 May 13 1997 cc_config.h -rw-r--r-- 1 inoue staff 3289 May 13 1997 forlib.c -rw-r--r-- 1 inoue staff 3484 Feb 18 16:52 forlib.o -rw-r--r-- 1 inoue staff 4058 May 13 1997 k2917.h drwxr-xr-x 8 inoue staff 512 Mar 31 1999 ktaka/ -rw-r--r-- 1 inoue staff 13876 Feb 18 16:52 libcamac.a -rw-r--r-- 1 inoue staff 8078 Mar 30 15:28 out drwxr-xr-x 2 inoue staff 512 Nov 10 1997 script/ frc7v-cl1[77]% make ./script/cc_build.sh [Building for sun4m] rm -f cc.o frc7v-cl1[80]% cc および cc.confファイルをコピーし直す。 frc8vt# pwd /usr/kernel/drv frc8vt# ls -l cc* -rwxr-xr-x 1 root sys 61072 Mar 30 15:26 cc* -rwxr-xr-x 1 root sys 288 Mar 30 15:26 cc.conf* frc8vt# rcp frc7v-cl1:/export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5/cc . frc8vt# rcp frc7v-cl1:/export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5/cc.conf . frc8vt# ls -l cc* -rwxr-xr-x 1 root sys 61072 Mar 31 09:37 cc* -rwxr-xr-x 1 root sys 288 Mar 31 09:37 cc.conf* frc8vt# ccドライバをロードし直す。 frc7v-cl1# make unload ./script/cc_unload.sh [Removing CAMAC device driver] [Removing CAMAC device driver from system] [Deleting CAMAC device files] frc7v-cl1# make load ./script/cc_load.sh [Installing CAMAC device driver] cp: cannot create /usr/kernel/drv/cc: Read-only file system cp: cannot create /usr/kernel/drv/cc.conf: Read-only file system [Adding CAMAC device driver to system] [Configuring CAMAC device driver] [Making CAMAC device files] frc7v-cl1# cam2プログラムを実行。 frc7v-cl1[47]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 0 cam2プログラムはここでフリーズした。 システムはパニックを起こしてリブートしてしまった。 BAD TRAP: type=9 rp=fc08b8dc addr=60 mmu_fsr=326 rw=1 BAD TRAP occurred in module "cc" due to an illegal access to a user address. cam2: Data fault kernel read fault at addr=0x60, pme=0x0 MMU sfsr=326: Invalid Address on supv data fetch at level 3 pte addr = 0xf603f700, level = 3 wrong ctx/as ctx 0, as 0xf5914470 wrong ctx/as 2 ctx 0, as 0x6f pid=493, pc=0xf608bd6c, sp=0xfc08b928, psr=0x44010c6, context=0 g1-g7: f0000000, 0, f0, 7a0, f5fbc068, 1, f5fab9a0 Begin traceback... sp = fc08b928 Called from f60840dc, fp=fc08b998, args=0 2a 600 5 fc08ba2c 0 Called from f00bd3ac, fp=fc08ba70, args=f00000 5 600 2a fc08bb08 f5bf1bb8 Called from f0068900, fp=fc08bb80, args=f5b1ba90 f5c86374 22 3 22 3 Called from 11f30, fp=effff8c0, args=1 600 3f53c0 5 24a70 24a80 End traceback... panic: Data fault syncing file systems... 2 done 2811 static and sysmap kernel pages 98 dynamic kernel data pages 498 kernel-pageable pages 0 segkmap kernel pages 0 segvn kernel pages 287 current user process pages 3694 total pages (3694 chunks) dumping to vp f59444dc, offset 138424 3694 total pages, dump succeeded rebooting... Resetting ... screen not found. Can't open input device. Keyboard not present. Using tty for input and output. SPARC CPU-7V, No Keyboard ROM Rev. 2.15.1, 64 MB memory installed, Serial #9157050. Ethernet address 0:80:42:b:49:ba, Host ID: 808bb9ba. apply failed. Initializing Memory - Type help for more information ok ok boot net -r Boot device: /iommu/sbus/ledma@5,8400010/le@5,8c00000 File and args: -r 2dc00 hostname: frc7v-cl1 domainname: kek.jp root server: frc8vt root directory: /export/root/frc7v-cl1 SunOS Release 5.6 Version Generic_105181-05 [UNIX(R) System V Release 4.0] Copyright (c) 1983-1997, Sun Microsystems, Inc. configuring network interfaces: le0. Hostname: frc7v-cl1 Configuring the /devices directory FRCvme V2.3.1 VME Nexus (FGA-5000 FGA-5100) NOTICE: VME: slavewin at vme=0x0, size=0x100000 space=0x2d020617 CAMAC device driver V1.3x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at VME0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 vmemem0 at VME0: vme32d16 0x0 vmemem1 at VME0: vme16d16 0x0 vmemem2 at VME0: vme24d16 0x0 vmemem3 at VME0: vme32d32 0x0 vmemem4 at VME0: vme16d32 0x0 vmemem5 at VME0: vme24d32 0x0 vmeplus0 at VME0: vme16d16 0x0 and vme24d16 0x0 and vme32d16 0x0 and vme16d32 0x 0 and vme24d32 0x0 and vme32d32 0x0 and space 0x2f offset 0x0 and space 0x6f offset 0x0 and space 0x10 offset 0x0 and space 0x11 offset 0x0 and space 0x50 offset 0x0 and space 0x51 offset 0x0 vmedma0 at VME0 vmefdma0 at VME0 vmedvma0 at VME0 vmectl0 at VME0 Configuring the /dev directory Configuring the /dev directory (compatibility devices) The system is coming up. Please wait. checking for crash dump...System went down at Wed Mar 31 09:35:46 1999 Saving 3694 pages of image in vmcore.37 3694 pages saved. Processing modules: Done. Constructing Namelist file: /var/crash/frc7v-cl1/unix.37 Namelist file complete. default ICCFP1.kek.jp done add net default: gateway ICCFP1 NIS domainname is kek.jp starting rpc services: rpcbind keyserv done. Setting netmask of le0 to 255.255.252.0 Setting default interface for multicast: add net 224.0.0.0: gateway frc7v-cl1 "/dev/swap" is not valid for swapping. It must be a block device or a regular file with the "save user text on execution" bit set. syslog service starting. syslogd: line 24: unexpected getnetconfig failure Print services started. volume management starting. Wnn6: Key License Server started.... Nihongo Multi Client Server (Wnn6 R2.30) Finished Reading Files The system is ready. frc7v-cl1 console login: ホームディレクトリをマウントする。 onlsun1[45]% !! rlogin frc7v-cl1 Password: No directory! Logging in with home=/ Last login: Wed Mar 31 09:18:55 from onlsun1.kek.jp Sun Microsystems Inc. SunOS 5.6 Generic August 1997 frc7v-cl1% su Password: # mount frc8vt:/export/home/frc8vt /export/home/frc7v-cl1 # frc7v-cl1% logout Connection closed. onlsun1[46]% !! rlogin frc7v-cl1 Last login: Wed Mar 31 09:47:02 from onlsun1.kek.jp Sun Microsystems Inc. SunOS 5.6 Generic August 1997 frc7v-cl1[33]% ls -l total 8 drwxr-xr-x 3 inoue staff 512 Feb 9 15:34 CAMAC/ drwxr-xr-x 3 inoue staff 512 Nov 6 11:07 FORCE/ drwxr-xr-x 2 inoue staff 512 Feb 18 10:29 Ktaka/ -rw------- 1 inoue staff 592 Feb 26 16:49 mbox frc7v-cl1[34]% クラッシュ・ファイルをチェック。 frc7v-cl1[36]% adb -k unix.37 vmcore.37 physmem 3e2d $c complete_panic(0x0,0x4401ce1,0x0,0x44010e1,0x0,0xf5ae8f88) + 5c do_panic(0x1,0xfc08b78c,0x0,0x48010e1,0x8,0xf00) + a8 vcmn_err(0x3,0xf0269878,0xfc08b78c,0x3,0xffeec000,0x0) + 180 cmn_err(0x3,0xf0269878,0xfc08c,0x53,0x53,0xf025e400) + 1c die(0x9,0xfc08b8dc,0x60,0x326,0x1,0xf0269878) + bc trap(0x0,0xfc08b8dc,0xf0000000,0x0,0x1,0x1) + 7e4 fault(?) + 84 bcopy(0x3,0x1,0xffafd5cd,0x0,0x0,0x3) + 4c8 bcopy(?) + 480 camac_b(0x0,0x2a,0x600,0x5,0xfc08ba2c,0x0) cc_write(0xf00000,0x5,0x600,0x2a,0xfc08bb08,0xf5bf1bb8) + 434 writev(0xf5b1ba90) + 2b0 $ dump on /dev/dsk/c0t3d0s1 size 83988K pem: no event handler FRCvme V2.3.1 VME Nexus (FGA-5000 FGA-5100) NOTICE: VME: slavewin at vme=0x0, size=0x100000 space=0x2d020617 VME0 at sbus0: SBus slot 5 0xffffe00 sparc ipl 15, SBus level 1 sparc ipl 2, SBus level 2 sparc ipl 3, SBus level 3 sparc ipl 5, SBus level 4 sparc ipl 7, SBus level 5 sparc ipl 9, SBus level 6 sparc ipl 11, SBus level 7 sparc ipl 13 CAMAC device driver V1.3x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at VME0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 cc0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/cc@2d,ff0 0 vmemem0 at VME0: vme32d16 0x0 vmemem0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@d,0 vmemem1 at VME0: vme16d16 0x0 vmemem1 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@2d,0 vmemem2 at VME0: vme24d16 0x0 vmemem2 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@3d,0 vmemem3 at VME0: vme32d32 0x0 vmemem3 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@4d,0 vmemem4 at VME0: vme16d32 0x0 vmemem4 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@6d,0 vmemem5 at VME0: vme24d32 0x0 vmemem5 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@7d,0 sbusmem0 at sbus0: SBus slot 0 0x0 sbusmem0 is /iommu@0,10000000/sbus@0,10001000/sbusmem@0,0 sbusmem1 at sbus0: SBus slot 1 0x0 sbusmem1 is /iommu@0,10000000/sbus@0,10001000/sbusmem@1,0 sbusmem2 at sbus0: SBus slot 2 0x0 sbusmem2 is /iommu@0,10000000/sbus@0,10001000/sbusmem@2,0 sbusmem3 at sbus0: SBus slot 3 0x0 sbusmem3 is /iommu@0,10000000/sbus@0,10001000/sbusmem@3,0 sbusmem4 at sbus0: SBus slot 4 0x0 sbusmem4 is /iommu@0,10000000/sbus@0,10001000/sbusmem@4,0 sbusmem5 at sbus0: SBus slot 5 0x0 sbusmem5 is /iommu@0,10000000/sbus@0,10001000/sbusmem@5,0 SUNW,bpp0 at sbus0: SBus slot 5 0xc800000 SBus level 2 sparc ipl 3 SUNW,bpp0 is /iommu@0,10000000/sbus@0,10001000/SUNW,bpp@5,c80000 0 pseudo-device: winlock0 winlock0 is /pseudo/winlock@0 pseudo-device: lockstat0 lockstat0 is /pseudo/lockstat@0 pseudo-device: vol0 vol0 is /pseudo/vol@0 pseudo-device: llc10 llc10 is /pseudo/llc1@0 vmeplus0 at VME0: vme16d16 0x0 and vme24d16 0x0 and vme32d16 0x0 and vme16d32 0x0 and vme24d32 0x0 and vme32d32 0x0 and space 0x 2f offset 0x0 and space 0x6f offset 0x0 and space 0x10 offset 0x0 and space 0x11 offset 0x0 and space 0x50 offset 0x0 and space 0x51 offset 0x0 vmeplus0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmep lus@2d,0 pseudo-device: pm0 pm0 is /pseudo/pm@0 vmedma0 at VME0 vmedma0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmedm a vmefdma0 at VME0 vmefdma0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmef dma vmedvma0 at VME0 vmedvma0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmed vma vmectl0 at VME0 vmectl0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmect l sysconfig0: LCA is XC4003 compatible sysconfig0 at root: obio 0x71380000 sysconfig0 is /sysconfig@0,71380000 BAD TRAP: type=9 rp=fc08b8dc addr=60 mmu_fsr=326 rw=1 BAD TRAP occurred in module "cc" due to an illegal access to a u ser address. cam2: Data fault kernel read fault at addr=0x60, pme=0x0 MMU sfsr=326: Invalid Address on supv data fetch at level 3 pte addr = 0xf603f700, level = 3 wrong ctx/as ctx 0, as 0xf5914470 wrong ctx/as 2 ctx 0, as 0x6f pid=493, pc=0xf608bd6c, sp=0xfc08b928, psr=0x44010c6, context=0 g1-g7: f0000000, 0, f0, 7a0, f5fbc068, 1, f5fab9a0 Begin traceback... sp = fc08b928 Called from f60840dc, fp=fc08b998, args=0 2a 600 5 fc08ba2c 0 Called from f00bd3ac, fp=fc08ba70, args=f00000 5 600 2a fc08bb08 f5bf1bb8 Called from f0068900, fp=fc08bb80, args=f5b1ba90 f5c86374 22 3 2 2 3 Called from 11f30, fp=effff8c0, args=1 600 3f53c0 5 24a70 24a80 End traceback... panic: Data fault syncing file systems... 2 done 2811 static and sysmap kernel pages 98 dynamic kernel data pages 498 kernel-pageable pages 0 segkmap kernel pages 0 segvn kernel pages 287 current user process pages 3694 total pages (3694 chunks) dumping to vp f59444dc, offset $q frc7v-cl1[37]% 以前と同じ。 ??? frc7v-cl1[45]% diff cc.c-bak/cc.c-Mar-31-1999 cc.c frc7v-cl1[46]% cc.cファイルを修正する。 frc7v-cl1[47]% pwd /export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5 frc7v-cl1[48]% vi cc.c : static int camac_b(int unit, u_short mode, u_short naf, int len, int *retlen) { register struct cc_device *cc; register dev_t dev; /* register struct K_REG *k = cc->k; */ /* register struct uio *uio = cc->uio; */ register struct uio *uio; cc = ddi_get_soft_state(cc_state,unit); /* E.Inoue: from */ cmn_err(CE_NOTE," camac_b: debug step01. --- enter camac_b()"); /* E.Inoue: end */ dev = cc->dev; *uio = cc->uio; cc->klist = CC_KLIST_NO; : "cc.c" 2878 lines, 72575 characters frc7v-cl1[49]% cc.cファイルをコンパイルする。 frc7v-cl1[50]% make ./script/cc_build.sh [Building for sun4m] "cc.c", line 2769: assignment type mismatch: struct uio {pointer to struct iovec {..} uio_iov, int uio_iovcnt, union {..} _uio_offset, enum uio_seg {UIO_USERISPACE(2), U... "=" pointer to struct uio {pointer to struct iovec {..} uio_iov, int uio_iovcnt, union {..} _uio_offset, enum uio_seg {UIO_USERI... cc: acomp failed for cc.c ld: fatal: file cc.o: open failed: No such file or directory *** Error code 1 make: Fatal error: Command failed for target `cc' frc7v-cl1[51]% cc.cファイルを修正。 frc7v-cl1[52]% vi cc.c : uio = cc->uio; : "cc.c" 2878 lines, 72574 characters frc7v-cl1[52]% cc.cファイルをコンパイル。 frc7v-cl1[52]% make ./script/cc_build.sh [Building for sun4m] rm -f cc.o frc7v-cl1[53]% cc および cc.confファイルをコピーする。 frc8vt# pwd /usr/kernel/drv frc8vt# ls -l cc* -rwxr-xr-x 1 root sys 61072 Mar 31 09:37 cc* -rwxr-xr-x 1 root sys 288 Mar 31 09:37 cc.conf* frc8vt# rcp frc7v-cl1:/export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5/cc . frc8vt# rcp frc7v-cl1:/export/home/frc7v-cl1/inoue/CAMAC/Driver/FORCE-5V-sol2.5/cc.conf . frc8vt# ls -l cc* -rwxr-xr-x 1 root sys 61072 Mar 31 10:21 cc* -rwxr-xr-x 1 root sys 288 Mar 31 10:21 cc.conf* frc8vt# ccドライバをロードし直す。 frc7v-cl1# make unload ./script/cc_unload.sh [Removing CAMAC device driver] [Removing CAMAC device driver from system] [Deleting CAMAC device files] frc7v-cl1# make load ./script/cc_load.sh [Installing CAMAC device driver] cp: cannot create /usr/kernel/drv/cc: Read-only file system cp: cannot create /usr/kernel/drv/cc.conf: Read-only file system [Adding CAMAC device driver to system] [Configuring CAMAC device driver] [Making CAMAC device files] frc7v-cl1# cam2プログラムを実行する。 frc7v-cl1[45]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 0 cam2プログラムはここでフリーズした。 システムはパニックを起こしてリブートしてしまった。 NOTICE:B cAmaD_b: d bug sTep01R -A- Pnter camac:b() tOTICEy pie: 0x3f=3c0 19 1 3 4r0 0 =NOf6C1: 2cc_s5rategyf5debuc s ep03m -m- enuer cc_s_ratfgys)r NO=ICE: c32st6a eg fouwe=ug step04. 1-- cam2: Data fault kernel read fault at addr=0xf6125f5c, pme=0x0 MMU sfsr=326: Invalid Address on supv data fetch at level 3 pte addr = 0xf60f8f94, level = 3 wrong ctx/as ctx 0, as 0xf5914510 wrong ctx/as 2 ctx 0, as 0x22 pid=435, pc=0xf607403c, sp=0xfbe3a928, psr=0x44010c3, context=0 g1-g7: f026de48, b9f9, f5f63858, c00, 200, 1, f5fb9c60 d thB camac readgiNOTICE: cc_ntrategy: de utrstep04-1. -a- cmaeabdra= 0x3c0c NOT IkE: c.unt.in . bits1p NOTIC : = c_sfrabegy: 3abug step05. -9- start2DMA COT : cc_Cntr: debugaslle06. --d enter cc_intr() NOfICE: cc_intr:rdebug step06o. ---mc f>60terr6pt=0ce 0OTICE:dccc_,ntr: debu sfpp0=bf -b-ecc->e3ecuting_dma_alag !=90 NO9IC8: c,_intr adebug rges06d. --- ac=ept i0terr pt: r2au n cc_6n0r() N0TIC f cc_stratbgy: debug step073a-ad return DMA N8TICE famac_b: d0bug s0ep07. --0 retur0 physio() f5c05bb8 Called from f00bd3ac, fp=fbe3aa70, args=f00000 5 600 2a fbe3ab08 f5c05bb8 Called from f0068900, fp=fbe3ab80, args=f593ac70 f5c8683c 22 3 22 3 Called from 11f30, fp=effff8c0, args=1 600 3f53c0 5 24a70 24a80 End traceback... panic: Data fault syncing file systems... 2 done 2786 static and sysmap kernel pages 104 dynamic kernel data pages 486 kernel-pageable pages 0 segkmap kernel pages 0 segvn kernel pages 287 current user process pages 3663 total pages (3663 chunks) dumping to vp f59444dc, offset 138672 3663 total pages, dump succeeded rebooting... Resetting ... screen not found. Can't open input device. Keyboard not present. Using tty for input and output. SPARC CPU-7V, No Keyboard ROM Rev. 2.15.1, 64 MB memory installed, Serial #9157050. Ethernet address 0:80:42:b:49:ba, Host ID: 808bb9ba. apply failed. Initializing Memory - Type help for more information ok ok boot net -r Boot device: /iommu/sbus/ledma@5,8400010/le@5,8c00000 File and args: -r 2dc00 hostname: frc7v-cl1 domainname: kek.jp root server: frc8vt root directory: /export/root/frc7v-cl1 SunOS Release 5.6 Version Generic_105181-05 [UNIX(R) System V Release 4.0] Copyright (c) 1983-1997, Sun Microsystems, Inc. configuring network interfaces: le0. Hostname: frc7v-cl1 Configuring the /devices directory FRCvme V2.3.1 VME Nexus (FGA-5000 FGA-5100) NOTICE: VME: slavewin at vme=0x0, size=0x100000 space=0x2d020617 CAMAC device driver V1.3x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at VME0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 vmemem0 at VME0: vme32d16 0x0 vmemem1 at VME0: vme16d16 0x0 vmemem2 at VME0: vme24d16 0x0 vmemem3 at VME0: vme32d32 0x0 vmemem4 at VME0: vme16d32 0x0 vmemem5 at VME0: vme24d32 0x0 vmeplus0 at VME0: vme16d16 0x0 and vme24d16 0x0 and vme32d16 0x0 and vme16d32 0x 0 and vme24d32 0x0 and vme32d32 0x0 and space 0x2f offset 0x0 and space 0x6f offset 0x0 and space 0x10 offset 0x0 and space 0x11 offset 0x0 and space 0x50 offset 0x0 and space 0x51 offset 0x0 vmedma0 at VME0 vmefdma0 at VME0 vmedvma0 at VME0 vmectl0 at VME0 Configuring the /dev directory Configuring the /dev directory (compatibility devices) The system is coming up. Please wait. checking for crash dump...System went down at Wed Mar 31 10:20:46 1999 Saving 3663 pages of image in vmcore.38 3663 pages saved. Processing modules: Done. Constructing Namelist file: /var/crash/frc7v-cl1/unix.38 Namelist file complete. default ICCFP1.kek.jp done add net default: gateway ICCFP1 NIS domainname is kek.jp starting rpc services: rpcbind keyserv done. Setting netmask of le0 to 255.255.252.0 Setting default interface for multicast: add net 224.0.0.0: gateway frc7v-cl1 "/dev/swap" is not valid for swapping. It must be a block device or a regular file with the "save user text on execution" bit set. syslog service starting. syslogd: line 24: unexpected getnetconfig failure Print services started. volume management starting. Wnn6: Key License Server started.... Nihongo Multi Client Server (Wnn6 R2.30) Finished Reading Files The system is ready. frc7v-cl1 console login: ホームディレクトリをマウントする。 onlsun1[47]% !! rlogin frc7v-cl1 Password: No directory! Logging in with home=/ Last login: Wed Mar 31 09:59:34 from onlsun1.kek.jp Sun Microsystems Inc. SunOS 5.6 Generic August 1997 frc7v-cl1% su Password: # mount frc8vt:/export/home/frc8vt /export/home/frc7v-cl1 # frc7v-cl1% logout Connection closed. onlsun1[48]% !! rlogin frc7v-cl1 Last login: Wed Mar 31 10:28:50 from onlsun1.kek.jp Sun Microsystems Inc. SunOS 5.6 Generic August 1997 frc7v-cl1[33]% ls -l total 8 drwxr-xr-x 3 inoue staff 512 Feb 9 15:34 CAMAC/ drwxr-xr-x 3 inoue staff 512 Nov 6 11:07 FORCE/ drwxr-xr-x 2 inoue staff 512 Feb 18 10:29 Ktaka/ -rw------- 1 inoue staff 592 Feb 26 16:49 mbox frc7v-cl1[34]% クラッシュ・ファイルをチェック。 frc7v-cl1[36]% adb -k unix.38 vmcore.38 physmem 3e2d $c complete_panic(0x0,0x4401ce6,0x0,0x44010e6,0x0,0xf5ae8f40) + 5c do_panic(0x1,0xfbe3a78c,0x0,0x48010e6,0x8,0xf00) + a8 vcmn_err(0x3,0xf0269878,0xfbe3a78c,0x3,0xffeec000,0x0) + 180 cmn_err(0x3,0xf0269878,0xfbe3b,0x53,0x53,0xf025e400) + 1c die(0x9,0xfbe3a8dc,0xf6125f5c,0x326,0x1,0xf0269878) + bc trap(0x0,0xfbe3a8dc,0xf0000000,0x0,0x6,0x1) + 930 fault(?) + 84 cmn_err(0x1,0xf6074b20,0xa,0x40,0xf5914510,0xfbe3aad8) camac_b(0x0,0x2a,0x600,0xfbe3aad8,0xf00000,0xf5c05bb8) + 204 cc_write(0xf00000,0x5,0x600,0x2a,0xfbe3ab08,0xf5c05bb8) + 434 writev(0xf593ac70) + 2b0 $ dump on /dev/dsk/c0t3d0s1 size 83988K pem: no event handler FRCvme V2.3.1 VME Nexus (FGA-5000 FGA-5100) NOTICE: VME: slavewin at vme=0x0, size=0x100000 space=0x2d020617 VME0 at sbus0: SBus slot 5 0xffffe00 sparc ipl 15, SBus level 1 sparc ipl 2, SBus level 2 sparc ipl 3, SBus level 3 sparc ipl 5, SBus level 4 sparc ipl 7, SBus level 5 sparc ipl 9, SBus level 6 sparc ipl 11, SBus level 7 sparc ipl 13 CAMAC device driver V1.3x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at VME0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 cc0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/cc@2d,ff0 0 vmemem0 at VME0: vme32d16 0x0 vmemem0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@d,0 vmemem1 at VME0: vme16d16 0x0 vmemem1 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@2d,0 vmemem2 at VME0: vme24d16 0x0 vmemem2 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@3d,0 vmemem3 at VME0: vme32d32 0x0 vmemem3 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@4d,0 vmemem4 at VME0: vme16d32 0x0 vmemem4 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@6d,0 vmemem5 at VME0: vme24d32 0x0 vmemem5 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmeme m@7d,0 sbusmem0 at sbus0: SBus slot 0 0x0 sbusmem0 is /iommu@0,10000000/sbus@0,10001000/sbusmem@0,0 sbusmem1 at sbus0: SBus slot 1 0x0 sbusmem1 is /iommu@0,10000000/sbus@0,10001000/sbusmem@1,0 sbusmem2 at sbus0: SBus slot 2 0x0 sbusmem2 is /iommu@0,10000000/sbus@0,10001000/sbusmem@2,0 sbusmem3 at sbus0: SBus slot 3 0x0 sbusmem3 is /iommu@0,10000000/sbus@0,10001000/sbusmem@3,0 sbusmem4 at sbus0: SBus slot 4 0x0 sbusmem4 is /iommu@0,10000000/sbus@0,10001000/sbusmem@4,0 sbusmem5 at sbus0: SBus slot 5 0x0 sbusmem5 is /iommu@0,10000000/sbus@0,10001000/sbusmem@5,0 SUNW,bpp0 at sbus0: SBus slot 5 0xc800000 SBus level 2 sparc ipl 3 SUNW,bpp0 is /iommu@0,10000000/sbus@0,10001000/SUNW,bpp@5,c80000 0 pseudo-device: winlock0 winlock0 is /pseudo/winlock@0 pseudo-device: lockstat0 lockstat0 is /pseudo/lockstat@0 pseudo-device: vol0 vol0 is /pseudo/vol@0 pseudo-device: llc10 llc10 is /pseudo/llc1@0 vmeplus0 at VME0: vme16d16 0x0 and vme24d16 0x0 and vme32d16 0x0 and vme16d32 0x0 and vme24d32 0x0 and vme32d32 0x0 and space 0x 2f offset 0x0 and space 0x6f offset 0x0 and space 0x10 offset 0x0 and space 0x11 offset 0x0 and space 0x50 offset 0x0 and space 0x51 offset 0x0 vmeplus0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmep lus@2d,0 pseudo-device: pm0 pm0 is /pseudo/pm@0 vmedma0 at VME0 vmedma0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmedm a vmefdma0 at VME0 vmefdma0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmef dma vmedvma0 at VME0 vmedvma0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmed vma vmectl0 at VME0 vmectl0 is /iommu@0,10000000/sbus@0,10001000/VME@5,ffffe00/vmect l sysconfig0: LCA is XC4003 compatible sysconfig0 at root: obio 0x71380000 sysconfig0 is /sysconfig@0,71380000 BAD TRAP: type=9 rp=fbe3a8dc addr=f6125f5c mmu_fsr=326 rw=1 cam2: Data fault kernel read fault at addr=0xf6125f5c, pme=0x0 MMU sfsr=326: Invalid Address on supv data fetch at level 3 pte addr = 0xf60f8f94, level = 3 wrong ctx/as ctx 0, as 0xf5914510 wrong ctx/as 2 ctx 0, as 0x22 pid=435, pc=0xf607403c, sp=0xfbe3a928, psr=0x44010c3, context=0 g1-g7: f026de48, b9f9, f5f63858, c00, 200, 1, f5fb9c60 Begin traceback... sp = fbe3a928 Called from f606c0dc, fp=fbe3a998, args=0 2a 600 fbe3aad8 f00000 f5c05bb8 Called from f00bd3ac, fp=fbe3aa70, args=f00000 5 600 2a fbe3ab08 f5c05bb8 Called from f0068900, fp=fbe3ab80, args=f593ac70 f5c8683c 22 3 2 2 3 Called from 11f30, fp=effff8c0, args=1 600 3f53c0 5 24a70 24a80 End traceback... panic: Data fault syncing file systems... 2 done 2786 static and sysmap kernel pages 104 dynamic kernel data pages 486 kernel-pageable pages 0 segkmap kernel pages 0 segvn kernel pages 287 current user process pages 3663 total pages (3663 chunks) dumping to vp f59444dc, offset $q frc7v-cl1[37]% camac_b()ルーチンの cmn_err()を実行時にエラー。 ---xxx ここまでやった(継続中) --- (6). セクション (6-1). サブセクション (6-1-1). サブサブセクション