Dennis Clarke wrote:
Dennis Clarke wrote:
I tried to import a zpool and the process just hung there, doing nothing.
It has been ten minutes now so I tries to hit CTRL-C. That did
nothing.
It may be because it is blocked in kernel.
Can you do something like this:
echo "0t<pid of zpool import>::pid2proc|::walk thread|::findstack -v"
dcla...@neptune:~$ date;ps -efl | grep root | grep import
Sat May 9 22:54:45 GMT 2009
0 S root 1096 1088 0 50 20 df81e378 1327 d8274526 20:40:38
pts/5 0:00 zpool import -f -R /mnt/foo 1598907
dcla...@neptune:~$ su -
Password:
Sun Microsystems Inc. SunOS 5.11 snv_111 November 2008
# /bin/echo "0t1096::pid2proc|::walk thread|::findstack -v" | mdb -k
stack pointer for thread e0156100: d575fc54
d575fc94 swtch+0x188()
d575fca4 cv_wait+0x53(d8274526, d82744e8, ffffffff, 0)
d575fce4 txg_wait_synced+0x90(d8274380, 65a, 0, 0)
d575fd34 spa_config_update_common+0x88(e600fd40, 0, 0, d575fd68)
d575fd84 spa_import_common+0x3cf()
d575fdb4 spa_import+0x18(ecee4000, dfa040b0, d75b04e0, febd9444)
d575fde4 zfs_ioc_pool_import+0xcd(ecee4000, 0, 0)
d575fe14 zfsdev_ioctl+0xe0()
d575fe44 cdev_ioctl+0x31(2d80000, 5a02, 80424a0, 100003, daf0b0b0,
d575ff00)
d575fe74 spec_ioctl+0x6b(d83b1d80, 5a02, 80424a0, 100003, daf0b0b0,
d575ff00)
d575fec4 fop_ioctl+0x49(d83b1d80, 5a02, 80424a0, 100003, daf0b0b0,
d575ff00)
d575ff84 ioctl+0x171()
d575ffac sys_sysenter+0x106()
#
So we see that it cannot complete import here and is waiting for
transaction group to sync. So probably spa_sync thread is stuck, and we
need to find out why.
echo "::threadlist" | mdb -k
# /bin/echo "::threadlist" | mdb -k | wc -l
542
# /bin/echo "::threadlist" | mdb -k > kern.thread.list
# wc -l kern.thread.list
541 kern.thread.list
Output of the second command may be rather big, so it would be better to
post it somewhere.
see http://www.blastwave.org/dclarke/blog/files/kern.thread.list
Sorry I forgot '-v', could you do it once again:
echo "::threadlist -v" | mdb -k
Output of this one is going to be a lot bigger.
Or alternatively we can try to get stack for two txg_sync_threads:
echo "0xd4abadc0|::findstack -v" | mdb -k
echo "0xd381ddc0|::findstack -v" | mdb -k
Regards,
Victor
I see this line :
e0156100 df81e378 ed00fe70 zpool/1
which seems consistent with what ps says :
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME
TTY TIME CMD
0 S root 1096 1088 0 50 20 df81e378 1327 d8274526 20:40:38
pts/5 0:00 zpool import -f -R /mnt/foo 1598907
which is not telling me much at the moment.
I'm game to play, what is next here ? By the way, brace yourself, this is
a 32-bit system and even worse than that, take a look at this isalist :
dcla...@neptune:~$ isainfo -v
32-bit i386 applications
ahf sse2 sse fxsr mmx cmov sep cx8 tsc fpu
dcla...@neptune:~$ isalist
i486 i386 i86
Dennis Clarke
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss