Changes to 07-NOV-2011: The day "/proc" died, again between r0 and r5
'''Solaris'd ... Again ...'''
(blank line)
# ps -eaf & echo $!
16612 --> ======
# mdb -k
> 0t16612::pid2proc | ::walk thread | ::findstack -v --> > 0t15259::pid2proc | ::walk thread | ::findstack -v
stack pointer for thread 300684cf3e0: 2a14125a871
[ 000002a14125a871 cv_wait+0x38() ]
000002a14125a921 pr_p_lock+0x80(0, 6009503ac04, 60094f6e080, 6011fa93b88, ff000000, 1947500)
000002a14125a9d1 pr_lookup_piddir+0x80(600a3994b80, 7, 1947400, 60144348150, 70, 600f02c30a8)
000002a14125aa81 prlookup+0x198(600a3994b80, 2a14125b530, 2a14125b528, 195b800, 10, 2)
000002a14125ab41 fop_lookup+0x28(600a3994b80, 2a14125b530, 2a14125b528, 12b6c78, 0, 60095181c80)
000002a14125ac01 lookuppnvp+0x354(2a14125b7f0, 0, 0, 2a14125b528, 2a14125b530, 600950f3a40)
000002a14125ae41 lookuppnat+0x120(600950f3a40, 0, 1, 0, 2a14125b930, 0)
000002a14125af01 lookupnameat+0x5c(0, 0, 1, 0, 2a14125b930, 0)
000002a14125b011 vn_openat+0x16c(2001, 0, 1, 0, 2001, 7fffffff)
000002a14125b1d1 copen+0x260(ffffffffffd19553, ffffffff7ffff390, 0, 7ffff3a4, 0, 2001)
000002a14125b2e1 syscall_trap+0xac(ffffffff7ffff390, 0, 7ffff3a4, ffffffff7fffefd0, 0, 1)
> 600a3994b80::print vnode_t
{
v_lock = {
_opaque = [ 0 ]
}
v_flag = 0x836
v_count = 0x1
v_data = 0x60144348150
v_vfsp = 0x6009530ed80
v_stream = 0
v_type = 2 (VDIR)
v_rdev = 0xffffffffffffffff
v_vfsmountedhere = 0
v_op = 0x60095181c80
v_pages = 0
v_npages = 0
v_msnpages = 0
v_scanfront = 0
v_scanback = 0
v_filocks = 0
v_shrlocks = 0
v_nbllock = {
_opaque = [ 0 ]
}
v_cv = {
_opaque = 0
}
v_locality = 0
v_femhead = 0
v_path = 0x3007cd76fc8 "/proc/23510"
v_rdcnt = 0
v_wrcnt = 0
v_mmap_read = 0
v_mmap_write = 0
v_mpssdata = 0
v_scantime = 0
v_mset = 0
v_msflags = 0
v_msnext = 0
v_msprev = 0
v_mslock = {
_opaque = [ 0 ]
}
}
>
stack pointer for thread 30068f57060: 2a13e6d2871
[ 000002a13e6d2871 cv_wait+0x38() ]
000002a13e6d2921 pr_p_lock+0x80(0, 6009503abfe, 60094f6dfc0, 601354a4f58, ff000000, 1947500)
000002a13e6d29d1 pr_lookup_piddir+0x80(601863a8f80, 7, 1947400, 601863df560, 70, 6013c254f88)
000002a13e6d2a81 prlookup+0x198(601863a8f80, 2a13e6d3530, 2a13e6d3528, 195b800, 10, 2)
000002a13e6d2b41 fop_lookup+0x28(601863a8f80, 2a13e6d3530, 2a13e6d3528, 12b6c78, 0, 60095181c80)
000002a13e6d2c01 lookuppnvp+0x354(2a13e6d37f0, 0, 0, 2a13e6d3528, 2a13e6d3530, 600950f3a40)
000002a13e6d2e41 lookuppnat+0x120(600950f3a40, 0, 1, 0, 2a13e6d3930, 0)
000002a13e6d2f01 lookupnameat+0x5c(0, 0, 1, 0, 2a13e6d3930, 0)
000002a13e6d3011 vn_openat+0x16c(2001, 0, 1, 0, 2001, 7fffffff)
000002a13e6d31d1 copen+0x260(ffffffffffd19553, ffffffff7ffff390, 0, 7ffff3a4, 0, 2001)
000002a13e6d32e1 syscall_trap+0xac(ffffffff7ffff390, 0, 7ffff3a4, ffffffff7fffefd0, 0, 1)
> 601863a8f80::print vnode_t v_data | ::print prnode_t pr_common | ::print prcommon_t prc_proc | ::print proc_t p_pidp | ::print 'struct pid' pid_prslot
pid_prslot = 0x5ff
> 601863a8f80::print vnode_t v_data | ::print prnode_t pr_common | ::print prcommon_t prc_proc | ::print proc_t p_lockp
p_lockp = 0x60094f6dfc0
> pr_pid_cv
0x6009503a000
> 6009503a000+(5ff*2)::print kcondvar_t
{
_opaque = 0x4c
}
(blank line)
(blank line)
======
Only in r0
Only in r5 --> Modified slightly between r0 and r5