strtst fails with LiS-2.18 and MontaVista CGE 3.1 (band_test and fifo_test)
"Longhi Stefano" <[email protected]>
| Newsgroups | gmane.linux.kernel.streams |
|---|---|
| Message-ID | <[email protected]> |
Hello,
I'm running LiS-2.18 compiled against MontaVista CGE 3.1 and have some
problems.
1) To make LiS compile with MVCGE, I had to include <linux/namei.h> in
linux-mdep.c (undefined struct nameidata) and redefine
EXPORT_SYMBOL_NOVERS in exports.c because otherwise I had a parse error
before "this_object_must_be_defined_as_export_objs_in_the_Makefile".
I suppose something is not correctly defined in my configuration, but I
cannot fint what. It seems that this error appears when EXPORT_SYMTAB is
not defined, even though EXPORT_SYMTAB is defined at the beginning of
exports.c. Anyway, with my corrections, streams module loads and
exported symbols are shown with ksyms, but I wonder if my changes are
correct.
2) strtst sometimes fails during the Queue band test (about 50% of
strtst runs).
To test different configurations, since MontaVista CGE 3.1 is based on
2.4.20 kernel, I compiled LiS and run strtst with 2.4.20 kernel
downloaded from kernel.org and everything went fine, but with
2.4.20-20.9 kernel provided with RedHat 9.B I have the same problems and
Queue band test fails (note that I used the same .config file to compile
both kernels), therefore it seems it is not only a problem related to
MVCGE environment.
Searching in the mail archive I found similar problem descriptions and I
tried to verify whether the failure is related to a delay problem.
So, I commented out the set_debug_mask(0x00000000L) instructions in the
band_test function (the receive_band(2): seq=31024 Bad message always
happens soon after that instruction) and I had no more failures.
My question is: is the band_test failure only due to delays that are
introduced to log debug information? is it related only with strtst
execution or could I have problems whith my modules that use streams?
In spite of my change to band_test I had the problem described at point
3). (I run a script that executes a loop of strtst).
3) running strtst I have sporadic Oops during FIFO/pipe test:
after strtst starts, fifo_test: open("/dev/fifo.0",O_RDWR) #1: fd 4 mode
020666 dev 0xe85f
I have:
lis_qopen(q@0xc491b584 <mailto:q@0xc491b584> ,...) calling module
"fifo" open @0xd0861360 (dev=e80005f,flag=2,sflag=1)
Unable to handle kernel paging request at virtual address 0000ee20
After that, strtst hangs and I have to reboot to use streams again.
In attachment there are traces related to problems 2) and 3).
Anyone who can help me is welcome!
Many thanks,
Stefano
band_test_failure.txt
(text/plain, 11 KB)
*** strtst output ****
Queue band test
band_test: band 0 (easy case)
ck_band(0): I_CKBAND: got expected result 1
receive_band: OK: Seq=1 Band=0 M_DATA
ck_band(0): I_CKBAND: got expected result 0
band_test: write band 0, 1; read band 1, 0
ck_band(1): I_CKBAND: got expected result 1
receive_band: OK: Seq=3 Band=1 M_DATA
ck_band(1): I_CKBAND: got expected result 0
receive_band: OK: Seq=2 Band=0 M_DATA
band_test: write band 1, 2, 3; read band 3, 2, 1
ck_band(3): I_CKBAND: got expected result 1
receive_band: OK: Seq=6 Band=3 M_DATA
ck_band(3): I_CKBAND: got expected result 0
ck_band(2): I_CKBAND: got expected result 1
receive_band: OK: Seq=5 Band=2 M_DATA
ck_band(2): I_CKBAND: got expected result 0
ck_band(1): I_CKBAND: got expected result 1
receive_band: OK: Seq=4 Band=1 M_DATA
ck_band(1): I_CKBAND: got expected result 0
band_test: write band 1, 3; read band 3, 1
receive_band: OK: Seq=8 Band=3 M_DATA
receive_band: OK: Seq=7 Band=1 M_DATA
band_test: write band 1, 3, 1; read band 3, 1, 1
receive_band: OK: Seq=10 Band=3 M_DATA
receive_band: OK: Seq=9 Band=1 M_DATA
receive_band: OK: Seq=11 Band=1 M_DATA
band_test: write band 1, 2, M_PCPROTO; read M_PCPROTO, band 2, 1
receive_band: OK: Seq=14 Band=0 M_PCPROTO
receive_band: OK: Seq=13 Band=2 M_DATA
receive_band: OK: Seq=12 Band=1 M_DATA
band_test: fill up band 1, then write band 2; read 2, 1, 1, ...
STREAMS debug mask set to 0x0000000000000000
band_test: band 1 full (1577 msgs), write band 2
STREAMS debug mask set to 0xffffffffffffffff
1417 messages available to read
receive_band: OK: Seq=11578 Band=2 M_DATA
receive_band: OK: Seq=10000 Band=1 M_DATA
STREAMS debug mask set to 0x0000000000000000
band_test: wr band 1, fill band 2, wr band 1; read 2,2,... 1
STREAMS debug mask set to 0xffffffffffffffff
STREAMS debug mask set to 0x0000000000000000
band_test: band 2 full (10347 msgs), write band 1
6966 messages available to read
receive_band: OK: Seq=20000 Band=2 M_DATA
STREAMS debug mask set to 0x0000000000000000
receive_band(2): seq=30186 Bad message
****************************************************
* Test Failed *
****************************************************
*** /var/log/messages ***
.....
lis_head_put(h@0xc49d0d40/--1/1) "loop(234,2)" {head.c@0}
lis_head_get(h@0xc49d06c0/++2/1) "printk(236,0)" {head.c@0}
lis_kmem_cache_allochdr: allocated c29b7e2c
lis_allocb: mp=0xc29b7e2c dp=0xc29b7e50(intl) from mblk /root/LIS/LiS-2.18_mvlcge31-preeemptive/head/head.c 5138
rptr=0xc29b7e6c wptr=0xc29b7e6c size=50
strwrite: stream printk(236,0): send 50 bytes downstream to printk
putnext: M_DATA from "str_wput" to "printk" size 64
q=c5b5a9e0, mp=c29b7e2c, mp->b_rptr=c29b7e6c, wptr=c29b7e9e
strtst: receive_band: OK: Seq=10000 Band=1 M_DATA
lis_freeb: (mblk) bp=0xc29b7e2c dp=0xc29b7e50
lis_msgb_cache_freehdr: freed c29b7e2c
lis_head_put(h@0xc49d06c0/--1/1) "printk(236,0)" {head.c@0}
lis_dget: d@0xc5c1f220/2 m:4 i@0xc720ad40/1 "loop.1"
>> parent: d@0xcfbf8138/223 m:4 i@0xcfbf7d80/1 "dev"
>> parent: d@0xc13daf24/108 m:4 i@0xcfbf78c0/1 "/"
lis_stropen(i@0xc720ad40/1,f@0xc8f60184/1)#259
<< i_rdev=(234,1) f_mode=03 f_flags=0x2 <[4] 4 LiS inode(s), 3 open stream(s)>
<< d@0xc5c1f220/1 m@0xcffef3ac/1231
lis_show_inode_aliases(i@0xc720ad40/1.1#40063):
>> dentry: d@0xc5c1f220/2 m:4 i@0xc720ad40/1 "loop.1"
>> parent: d@0xcfbf8138/223 m:4 i@0xcfbf7d80/1 "dev"
>> parent: d@0xc13daf24/108 m:4 i@0xcfbf78c0/1 "/"
lis_lookup_stdata(d0xea00001,d@0xc5c1f220/2,h@0x00000000/0/0) <same>
>> h@0xc49d0040/1/1 i@0xc343c2c0/1
lis_head_get(h@0xc49d0040/++2/1) "loop(234,1)" {head.c@0}
lis_qopen(q@0xc5b5aac4,...) calling driver "loop" open @0xd0861920 (dev=ea00001,flag=2,sflag=0)
lis_cleanup_file_opening(f@0xc8f60184/1,h@0xc49d0040/2/1,0)
"/dev/loop.1"
>> dentry: d@0xc5c1f220/2 m:4 i@0xc720ad40/1 "loop.1"
>> parent: d@0xcfbf8138/223 m:4 i@0xcfbf7d80/1 "dev"
>> parent: d@0xc13daf24/108 m:4 i@0xcfbf78c0/1 "/"
lis_dput: d@0xc5c1f220/2 m:4 i@0xc720ad40/1 "loop.1"
>> parent: d@0xcfbf8138/223 m:4 i@0xcfbf7d80/1 "dev"
>> parent: d@0xc13daf24/108 m:4 i@0xcfbf78c0/1 "/"
lis_stropen(i@0xc720ad40/1,f@0xc8f60184/1)#259
>> h@0xc49d0040/2/2 "loop(234,1)" i@0xc720ad40/1 rq@0xc5b5ac84 wq@0xc5b5ad60
>> d@0xc5c1f220/1 m@0xcffef3ac/1231
lis_show_inode_aliases(i@0xc720ad40/1.1#40063):
>> dentry: d@0xc5c1f220/1 m:4 i@0xc720ad40/1 "loop.1"
>> parent: d@0xcfbf8138/223 m:4 i@0xcfbf7d80/1 "dev"
>> parent: d@0xc13daf24/108 m:4 i@0xcfbf78c0/1 "/"
STREAM "loop(234,1)": str_wput<==>loop
lis_stropen(i@0xc720ad40/1,f@0xc8f60184/1)#259 done OK...
>> <[4] 4 LiS inode(s), 3 open stream(s)>
lis_head_get(h@0xc49d0040/++3/2) "loop(234,1)" {head.c@0}
lis_head_put(h@0xc49d0040/--2/2) "loop(234,1)" {head.c@0}
lis_strioctl(i@0xc720ad40/1,f@0xc8f60184/2,cmd=0x53ff,arg=0x0) << i_rdev=0xea00001
lis_head_get(h@0xc49d0040/++3/2) "loop(234,1)" {head.c@0}
lis_head_put(h@0xc49d0040/--2/2) "loop(234,1)" {head.c@0}
lis_head_get(h@0xc49d0040/++3/2) "loop(234,1)" {head.c@0}
strtst:
STREAMS debug mask set to 0x0000000000000000
strtst:
band_test: wr band 1, fill band 2, wr band 1; read 2,2,... 1
lis_head_put(h@0xc49d0040/--2/2) "loop(234,1)" {head.c@0}
lis_strioctl(i@0xc720ad40/1,f@0xc8f60184/2,cmd=0x53f1,arg=0xffffffff) << i_rdev=0xea00001
lis_head_get(h@0xc49d0040/++3/2) "loop(234,1)" {head.c@0}
lis_head_put(h@0xc49d0040/--2/2) "loop(234,1)" {head.c@0}
lis_head_get(h@0xc49d06c0/++2/1) "printk(236,0)" {head.c@0}
lis_kmem_cache_allochdr: allocated c29caafc
lis_allocb: mp=0xc29caafc dp=0xc29cab20(intl) from mblk /root/LIS/LiS-2.18_mvlcge31-preeemptive/head/head.c 5138
rptr=0xc29cab3c wptr=0xc29cab3c size=54
strwrite: stream printk(236,0): send 54 bytes downstream to printk
putnext: M_DATA from "str_wput" to "printk" size 64
q=c5b5a9e0, mp=c29caafc, mp->b_rptr=c29cab3c, wptr=c29cab72
strtst:
STREAMS debug mask set to 0xffffffffffffffff
lis_freeb: (mblk) bp=0xc29caafc dp=0xc29cab20
lis_msgb_cache_freehdr: freed c29caafc
lis_head_put(h@0xc49d06c0/--1/1) "printk(236,0)" {head.c@0}
lis_strclose(i@0xc720ad40/1,f@0xc8f60184/0)#249 i_rdev=(234,1)
<< d@0xc5c1f220/1 <[4] 4 LiS inode(s), 3 open stream(s)>
lis_doclose(i@0xc720ad40/1,f@0xc8f60184/0,h@0xc49d0040/2/2.0,...)#269/249
<< "loop(234,1)" d@0xc5c1f220/1 <[4] 4 LiS inode(s), 3 open stream(s)>
STREAM "loop(234,1)": str_wput<==>loop
lis_cleanup_file_closing(f@0xc8f60184/0,h@0xc49d0040/2/1) [4] "/dev/loop.1"
>> dentry: d@0xc5c1f220/1 m:4 i@0xc720ad40/1 "loop.1"
>> parent: d@0xcfbf8138/223 m:4 i@0xcfbf7d80/1 "dev"
>> parent: d@0xc13daf24/108 m:4 i@0xcfbf78c0/1 "/"
lis_head_put(h@0xc49d0040/--1/1) "loop(234,1)" {head.c@0}
lis_doclose(...)#269/249 >> <[4] 4 LiS inode(s), 3 open stream(s)>
lis_head_get(h@0xc49d0040/++2/1) "loop(234,1)" {head.c@0}
lis_kmem_cache_allochdr: allocated c29caafc
lis_allocb: mp=0xc29caafc dp=0xc29cab20(intl) from mblk /root/LIS/LiS-2.18_mvlcge31-preeemptive/head/head.c 1751
rptr=0xc29cab3c wptr=0xc29cab3c size=20
strputmsg: stream loop(234,1): send 0/20 ctl/data bytes downstream to loop
strputmsg: q = 0xc5b5ad60, msg = 0xc29caafc
putnext: M_DATA from "str_wput" to "loop" size 64
q=c5b5ad60, mp=c29caafc, mp->b_rptr=c29cab3c, wptr=c29cab50
putnext: M_DATA from "loop" to "str_rput" size 64
q=c5b5a744, mp=c29caafc, mp->b_rptr=c29cab3c, wptr=c29cab50
lis_strrput: loop(234,2) queueing M_DATA
lis_head_get(h@0xc49d0d40/++2/1) "loop(234,2)" {head.c@0}
lis_head_put(h@0xc49d0040/--1/1) "loop(234,1)" {head.c@0}
lis_strioctl(i@0xc343c2c0/1,f@0xc80740c4/2,cmd=0x5322,arg=0x2) << i_rdev=0xea00001
lis_head_get(h@0xc49d0040/++2/1) "loop(234,1)" {head.c@0}
lis_strioctl(...,I_CANPUT,...) "loop(234,1)" >> rslt=1
lis_head_put(h@0xc49d0040/--1/1) "loop(234,1)" {head.c@0}
lis_head_get(h@0xc49d0040/++2/1) "loop(234,1)" {head.c@0}
lis_kmem_cache_allochdr: allocated c29cab84
lis_allocb: mp=0xc29cab84 dp=0xc29caba8(intl) from mblk /root/LIS/LiS-2.18_mvlcge31-preeemptive/head/head.c 1751
rptr=0xc29cabc4 wptr=0xc29cabc4 size=23
strputmsg: stream loop(234,1): send 0/23 ctl/data bytes downstream to loop
strputmsg: q = 0xc5b5ad60, msg = 0xc29cab84
putnext: M_DATA from "str_wput" to "loop" size 64
q=c5b5ad60, mp=c29cab84, mp->b_rptr=c29cabc4, wptr=c29cabdb
putnext: M_DATA from "loop" to "str_rput" size 64
q=c5b5a744, mp=c29cab84, mp->b_rptr=c29cabc4, wptr=c29cabdb
lis_strrput: loop(234,2) queueing M_DATA
lis_head_put(h@0xc49d0040/--1/1) "loop(234,1)" {head.c@0}
lis_dget: d@0xc5c1f220/2 m:4 i@0xc720ad40/1 "loop.1"
>> parent: d@0xcfbf8138/223 m:4 i@0xcfbf7d80/1 "dev"
>> parent: d@0xc13daf24/108 m:4 i@0xcfbf78c0/1 "/"
lis_stropen(i@0xc720ad40/1,f@0xc8f60184/1)#261
<< i_rdev=(234,1) f_mode=03 f_flags=0x2 <[4] 4 LiS inode(s), 3 open stream(s)>
<< d@0xc5c1f220/1 m@0xcffef3ac/1231
lis_show_inode_aliases(i@0xc720ad40/1.1#40063):
>> dentry: d@0xc5c1f220/2 m:4 i@0xc720ad40/1 "loop.1"
>> parent: d@0xcfbf8138/223 m:4 i@0xcfbf7d80/1 "dev"
>> parent: d@0xc13daf24/108 m:4 i@0xcfbf78c0/1 "/"
lis_lookup_stdata(d0xea00001,d@0xc5c1f220/2,h@0x00000000/0/0) <same>
>> h@0xc49d0040/1/1 i@0xc343c2c0/1
lis_head_get(h@0xc49d0040/++2/1) "loop(234,1)" {head.c@0}
lis_qopen(q@0xc5b5aac4,...) calling driver "loop" open @0xd0861920 (dev=ea00001,flag=2,sflag=0)
lis_cleanup_file_opening(f@0xc8f60184/1,h@0xc49d0040/2/1,0)
"/dev/loop.1"
>> dentry: d@0xc5c1f220/2 m:4 i@0xc720ad40/1 "loop.1"
>> parent: d@0xcfbf8138/223 m:4 i@0xcfbf7d80/1 "dev"
>> parent: d@0xc13daf24/108 m:4 i@0xcfbf78c0/1 "/"
lis_dput: d@0xc5c1f220/2 m:4 i@0xc720ad40/1 "loop.1"
>> parent: d@0xcfbf8138/223 m:4 i@0xcfbf7d80/1 "dev"
>> parent: d@0xc13daf24/108 m:4 i@0xcfbf78c0/1 "/"
lis_stropen(i@0xc720ad40/1,f@0xc8f60184/1)#261
>> h@0xc49d0040/2/2 "loop(234,1)" i@0xc720ad40/1 rq@0xc5b5ac84 wq@0xc5b5ad60
>> d@0xc5c1f220/1 m@0xcffef3ac/1231
lis_show_inode_aliases(i@0xc720ad40/1.1#40063):
>> dentry: d@0xc5c1f220/1 m:4 i@0xc720ad40/1 "loop.1"
>> parent: d@0xcfbf8138/223 m:4 i@0xcfbf7d80/1 "dev"
>> parent: d@0xc13daf24/108 m:4 i@0xcfbf78c0/1 "/"
STREAM "loop(234,1)": str_wput<==>loop
lis_stropen(i@0xc720ad40/1,f@0xc8f60184/1)#261 done OK...
>> <[4] 4 LiS inode(s), 3 open stream(s)>
lis_head_get(h@0xc49d0040/++3/2) "loop(234,1)" {head.c@0}
lis_head_put(h@0xc49d0040/--2/2) "loop(234,1)" {head.c@0}
lis_strioctl(i@0xc720ad40/1,f@0xc8f60184/2,cmd=0x53ff,arg=0x0) << i_rdev=0xea00001
lis_head_get(h@0xc49d0040/++3/2) "loop(234,1)" {head.c@0}
lis_head_put(h@0xc49d0040/--2/2) "loop(234,1)" {head.c@0}
lis_head_get(h@0xc49d0040/++3/2) "loop(234,1)" {head.c@0}
strtst:
STREAMS debug mask set to 0x0000000000000000
strtst: band_test: band 2 full (10347 msgs), write band 1
strtst: 6966 messages available to read
strtst: receive_band: OK: Seq=20000 Band=2 M_DATA
strtst:
STREAMS debug mask set to 0x0000000000000000
strtst: receive_band(2): seq=30186 Bad message
strtst:
strtst: ****************************************************
strtst: * Test Failed *
strtst: ****************************************************
Kernel Oops in fifo_test .txt
(text/plain, 5.6 KB)
*** strtst output ****
STREAMS-based FIFO/pipe test
fifo_test: open("/dev/fifo",O_RDWR) #1: fd 4 mode 020666 dev 0xe85d
fifo_test: open("/dev/fifo",O_RDWR) #2: fd 5 mode 020666 dev 0xe85e
fifo_test: open("/dev/fifo.0",O_RDWR) #1: fd 4 mode 020666 dev 0xe85f
Then strtst hangs.......
*** /var/log/messages ***
.....
strtst: fifo_test: open("/dev/fifo.0",O_RDWR) #1: fd 4 mode 020666 dev 0xe85f
lis_freeb: (data blk) dp=0xcfd46d20(extl) dp->db_base=0xc3e6b0e4 dp->db_lim=0xc3e6b132 dp->db_size=78
lis_freeb: (mblk) bp=0xcfd46cfc dp=0xcfd46d20
lis_msgb_cache_freehdr: freed cfd46cfc
lis_free: 0xc3e6b0e4: mvlcge31-preeemptive/head/msg.c #639, size=80
lis_head_put(h@0xc491c040/--1/1) "printk(236,0)" {head.c@0}
lis_dget: d@0xc7ad2688/3 m:3 i@0xc7ac8ce0/1 "fifo.0"
>> parent: d@0xcfbf8138/32 m:3 i@0xcfbf7d80/1 "dev"
>> parent: d@0xc13daf24/78 m:3 i@0xcfbf78c0/1 "/"
lis_stropen(i@0xc7ac8ce0/1,f@0xc7a2b444/1)#27115
<< i_rdev=(232,0) f_mode=03 f_flags=0x2 <[3] 3 LiS inode(s), 2 open stream(s)>
<< d@0xc7ad2688/2 m@0xcffef3ac/1242
lis_show_inode_aliases(i@0xc7ac8ce0/1.1#40054):
>> dentry: d@0xc7ad2688/3 m:3 i@0xc7ac8ce0/1 "fifo.0"
>> parent: d@0xcfbf8138/32 m:3 i@0xcfbf7d80/1 "dev"
>> parent: d@0xc13daf24/78 m:3 i@0xcfbf78c0/1 "/"
lis_lookup_stdata(d0xe800000,d@0xc7ad2688/3,h@0x00000000/0/0) <reopen>
>> h@0xc491cd40/1/1 i@0xc817a120/1 dev 0xe80005f
lis_head_get(h@0xc491cd40/++2/1) "fifo(232,95)" {head.c@0}
lis_qopen(q@0xc491b584,...) calling module "fifo" open @0xd0861360 (dev=e80005f,flag=2,sflag=1)
Unable to handle kernel paging request at virtual address 0000ee20
printing eip:
c02a97b9
*pde = 00000000
Oops: 0000
streams-mtdrv streams 3c59x
CPU: 0
EIP: 0060:[<c02a97b9>] Not tainted
EFLAGS: 00210297
eax: 0000ee20 ebx: 0000000a ecx: 0000ee20 edx: fffffffe
esi: d08d6899 edi: 00000000 ebp: ffffffff esp: c4c15d90
ds: 0068 es: 0068 ss: 0068
Process strtst (pid: 11659, stackpage=c4c15000)
Stack: d08d6892 ffffffff 000069eb 00000000 0000000a ffffffff 00000004 00000002
ffffffff ffffffff 0000e800 c7ac8ce0 00000000 c7a2b444 c02a9967 d08d6860
2f7297a0 d088fa8e c4c15e10 d0885ba3 d08d6860 d088fa60 c4c15df8 0000e800
Call Trace: [<d08d6892>] [<c02a9967>] [<d08d6860>] [<d088fa8e>] [<d0885ba3>] [<d08d6860>] [<d088fa60>] [<d087b2c2>] [<d088fa60>] [<d0869a9e>] [<d088b3c0>] [<d086cc4a>] [<c014e29d>] [<c014e4c6>] [<c014e460>] [<c014c87d>] [<c014c7a8>] [<c014cb8b>] [<c01096bf>]
Code: 80 38 00 74 07 40 4a 83 fa ff 75 f4 29 c8 83 e7 10 89 c3 75
<6>note: strtst[11659] exited with preempt_count 1
lis_strclose(i@0xc8a67120/1,f@0xc81ea134/0)#26297 i_rdev=(236,0)
<< d@0xc4f514b8/1 <[3] 3 LiS inode(s), 2 open stream(s)>
lis_doclose(i@0xc8a67120/1,f@0xc81ea134/0,h@0xc491c040/1/1.0,...)#28337/26297
<< "printk(236,0)" d@0xc4f514b8/1 <[3] 3 LiS inode(s), 2 open stream(s)>
STREAM "printk(236,0)": str_wput<==>printk
lis_cleanup_file_closing(f@0xc81ea134/0,h@0xc491c040/1/0) [3] <LiS> <lis_mnt> "LiS/printk(236,0)"
>> dentry: d@0xc4f514b8/1 <LiS> m:3 i@0xc8a67120/1 <LiS> "printk(236,0)"
>> parent: d@0xc7261dc8/4 <LiS> m:3 i@0xc4ac79c0/1 <LiS> "LiS/"
lis_kmem_cache_allochdr: allocated cfd46cfc
lis_allocb: mp=0xcfd46cfc dp=0xcfd46d20(intl) from mblk /root/LIS/LiS-2.18_mvlcge31-preeemptive/head/head.c 2779
rptr=0xcfd46d3c wptr=0xcfd46d3c size=8
putnext: M_FLUSH from "str_wput" to "printk" size 64
q=c491b120, mp=cfd46cfc, mp->b_rptr=cfd46d3c, wptr=cfd46d3d
lis_freeb: (mblk) bp=0xcfd46cfc dp=0xcfd46d20
lis_msgb_cache_freehdr: freed cfd46cfc
freezestr: stream printk(236,0) queue printk
lis_head_get(h@0xc491c040/++2/0) "printk(236,0)" {head.c@0}
lis_qdetach(q@0xc491b204,?1,...) "printk" >> calling close(...)
lis_qdetach(q@0xc491b204,...) "printk" >> wq=c491b2e0 rq=c491b204 next=00000000 unfrzq=c491b044 prev=c491b044
lis_qdetach(q@0xc491b204,...) "printk" >> linking around read queue
lis_qdetach(q@0xc491b204,...) "printk" >> deallocating queues
unfreezestr: stream printk(236,0) queue str_rput
lis_head_get(h@0xc491c040/++3/0) "printk(236,0)" {head.c@0}
lis_head_put(h@0xc491c040/--2/0) "printk(236,0)" {head.c@0}
lis_head_put(h@0xc491c040/--1/0) "printk(236,0)" {head.c@0}
lis_qdetach: closing_pipe=0 hd=c491c040 hd->sd_peer=00000000
freezestr: stream printk(236,0) queue str_rput
lis_head_get(h@0xc491c040/++2/0) "printk(236,0)" {head.c@0}
lis_qdetach(q@0xc491b044,...) "str_rput" >> wq=c491b120 rq=c491b044 next=00000000 unfrzq=00000000 prev=00000000
lis_qdetach(q@0xc491b044,...) "str_rput" >> deallocating queues
lis_head_put(h@0xc491c040/--1/0) "printk(236,0)" {head.c@0}
lis_qdetach: closing_pipe=0 hd=c491c040 hd->sd_peer=00000000
lis_head_put(h@0xc491c040/--0/0) "printk(236,0)" {head.c@0}
lis_free_stdata(h@0xc491c040/0/0) "printk(236,0)"
lis_modput() <"streams"/5>-- {head.c@1650,lis_free_stdata()}
lis_modput_local() <"streams">-- {head.c@1650,lis_free_stdata()}
lis_doclose(...)#28337/26297 >> <[3] 3 LiS inode(s), 1 open stream(s)>
lis_dentry_delete(d@0xc4f514b8/0) [3] d<LiS>
lis_dentry_iput: d@0xc4f514b8/0 <LiS> m:3 "printk(236,0)"
>> parent: d@0xc7261dc8/4 <LiS> m:3 i@0xc4ac79c0/1 <LiS> "LiS/"
lis_super_put_inode(i@0xc8a67120/1) <LiS> i_rdev=0xec00000 <[3] 3 LiS inode(s)>--
lis_strclose(i@0xc817a120/1,f@0xc93ff2c4/0)#26298 i_rdev=(232,95)
<< d@0xc7ad25a0/1 <[3] 2 LiS inode(s), 1 open stream(s)>
lis_doclose(i@0xc817a120/1,f@0xc93ff2c4/0,h@0xc491cd40/2/1.0,...)#28338/26298
<< "fifo(232,95)" d@0xc7ad25a0/1 <[3] 2 LiS inode(s), 1 open stream(s)>
STREAM "fifo(232,95)": fifo
lis_fifo_close_sync(i@0xc817a120/1,f@0xc93ff2c4/0)#26298 "fifo(232,95)" >> 0 reader(s) 0 writer(s)
Then strtst hangs.......