Re: One more boobytrap needed for 2.2.15pre ?

From: Andris Pavenis (andris@stargate.astr.lu.lv)
Date: Wed Feb 23 2000 - 12:52:32 EST


On Wed, 23 Feb 2000, Manfred Spraul wrote:
> Andris Pavenis wrote:
> >
> > It's called from interrupt context (in_interrupt() is not 0). My last checks at
> > night also shows that problem appears in tcp_recvmsg() (or in something called
> > from it). Next calls to tcp_recvmsg() are when ext_state is not updated yet,
> > so messages are also when entering tcp_recvmsg() for later check failures.
> >
>
> Ok, that's the problem:
> * add a limited "show_stack()" to tcp_recvmsg()
>
> if(in_interrupt()) {
> static limit=10;
> if(limit>0)
> limit--;
> show_stack();
> }
> }
>
> * post the back trace to the mailing list.
>
> Calling tcp_recvmsg() from an interrupt is a major bug.
>

We'll it's not exactly as requested, but here is stack info from from boobytrap
in tcp_recvmsg(). Stack trace were called at end of tcp_recvmsg() when
boobytrap failed. I'll leave test mentioned above running at night.

Andris

Feb 23 14:19:28 hal kernel: bad state change, exit from tcp_recvmsg fnc c0171103h
Feb 23 14:19:28 hal kernel: current->state=0 current->ext_state=1 signal_pending(current)=0
Feb 23 14:19:28 hal kernel: tcp_recvmsg : schedule called 0 times
Feb 23 14:19:28 hal kernel: in interrupt
Feb 23 14:19:28 hal kernel: c0c85bf0 00000000 00000001 00000000 00000040 c273b6c0 c0c85ce4 c19cc09c
Feb 23 14:19:28 hal kernel: c0627000 c273b704 00000002 c0c84000 00000000 00000000 00000001 00000001
Feb 23 14:19:28 hal kernel: c273b770 0002d87b c0c84000 c19cc0b4 00000042 00000083 c022c77c c0171103
Feb 23 14:19:28 hal kernel: Call Trace: [fib_node_get_info+163/212] [cdrom_start_read_continuation+0/272] [<c485a181>] [get_irq_list+198/280] [cdrom_read_from_buffer+243/268] [cdrom_read_intr+764/792] [<c485a33b>]
Feb 23 14:19:28 hal kernel: Call Trace: [<c0171103>] [<c018608c>] [<c485a181>] [<c0109882>] [<c0186073>] [<c0185f64>] [<c485a33b>]
Feb 23 14:19:28 hal kernel: [grow_buffers+137/232] [tcp_send_fin+58/416] [udp_sendmsg+303/844] [dev_mc_add+86/300] [udp_connect+8/412] [scsi_allocate_device+93/804] [ip_options_compile+1351/1380] [ip_forward_options+290/336]
Feb 23 14:19:28 hal kernel: [<c01262a9>] [<c01662ce>] [<c016b04f>] [<c015720a>] [<c016b3ec>] [<c01a4015>] [<c015e3af>] [<c015e6aa>]
Feb 23 14:19:28 hal kernel: [neigh_forced_gc+88/144] [unregister_sysctl_table+36/48] [init_ISA_irqs+12/76] [ip_error+41/180] [get_irq_list+236/280] [interruptible_sleep_on+51/92] [__down+16/144] [__down+7/144]
Feb 23 14:19:28 hal kernel: [<c0157768>] [<c0117924>] [<c0109d04>] [<c015abed>] [<c01098a8>] [<c01101d3>] [<c0110024>] [<c011001b>]
Feb 23 14:19:28 hal kernel: [schedule_timeout+64/140] [free_dma+10/56] [init_ISA_irqs+12/76] [v86_signal_return+12/16] bad state change, tcp_recvmsg entered fnc c0171103h
Feb 23 14:19:28 hal kernel: [<c010fc68>] [<c01115c6>] [<c0109d04>] [<c01088bc>] bad state change, tcp_recvmsg entered fnc c0171103h
Feb 23 14:19:28 hal kernel: current->state=0 current->ext_state=1 signal_pending(current)=0
Feb 23 14:19:28 hal kernel: bad state change, exit from tcp_recvmsg fnc c0171103h
Feb 23 14:19:28 hal kernel: current->state=0 current->ext_state=1 signal_pending(current)=0
Feb 23 14:19:28 hal kernel: tcp_recvmsg : schedule called 0 times
Feb 23 14:19:28 hal kernel: in interrupt
Feb 23 14:19:28 hal kernel: c0c85bf0 00000000 00000001 00000000 00000040 c273b6c0 c0c85ce4 c19cc09c
Feb 23 14:19:28 hal kernel: c0627000 c273b704 00000000 c0c84000 00000000 00000000 00000001 00000004
Feb 23 14:19:28 hal kernel: c273b770 0002d87a c0c84000 c19cc0b4 00000040 00000083 c022c77c c0171103
Feb 23 14:19:28 hal kernel: Call Trace: [fib_node_get_info+163/212] [cdrom_start_read_continuation+0/272] [<c485a181>] [get_irq_list+198/280] [cdrom_read_from_buffer+243/268] [cdrom_read_intr+764/792] [<c485a357>]
Feb 23 14:19:28 hal kernel: Call Trace: [<c0171103>] [<c018608c>] [<c485a181>] [<c0109882>] [<c0186073>] [<c0185f64>] [<c485a357>]
Feb 23 14:19:28 hal kernel: [grow_buffers+137/232] [tcp_send_fin+58/416] [udp_sendmsg+303/844] [dev_mc_add+86/300] [udp_connect+8/412] [scsi_allocate_device+93/804] [ip_options_compile+1351/1380] [ip_forward_options+290/336]
Feb 23 14:19:28 hal kernel: [<c01262a9>] [<c01662ce>] [<c016b04f>] [<c015720a>] [<c016b3ec>] [<c01a4015>] [<c015e3af>] [<c015e6aa>]
Feb 23 14:19:28 hal kernel: [neigh_forced_gc+88/144] [unregister_sysctl_table+36/48] [init_ISA_irqs+12/76] [ip_error+41/180] [get_irq_list+236/280] [interruptible_sleep_on+51/92] [__down+16/144] [__down+7/144]
Feb 23 14:19:28 hal kernel: [<c0157768>] [<c0117924>] [<c0109d04>] [<c015abed>] [<c01098a8>] [<c01101d3>] [<c0110024>] [<c011001b>]
Feb 23 14:19:28 hal kernel: [schedule_timeout+64/140] [free_dma+10/56] [init_ISA_irqs+12/76] [v86_signal_return+12/16] bad state change, tcp_recvmsg entered fnc c0171103h
Feb 23 14:19:28 hal kernel: [<c010fc68>] [<c01115c6>] [<c0109d04>] [<c01088bc>] bad state change, tcp_recvmsg entered fnc c0171103h
Feb 23 14:19:28 hal kernel: current->state=0 current->ext_state=1 signal_pending(current)=0
Feb 23 14:19:28 hal kernel: bad state change, exit from tcp_recvmsg fnc c0171103h
Feb 23 14:19:28 hal kernel: current->state=0 current->ext_state=1 signal_pending(current)=0
Feb 23 14:19:28 hal kernel: tcp_recvmsg : schedule called 0 times
Feb 23 14:19:28 hal kernel: in interrupt
Feb 23 14:19:28 hal kernel: c0c85bf0 00000000 00000001 00000000 00000040 c273b6c0 c0c85ce4 c19cc09c
Feb 23 14:19:28 hal kernel: c0627000 c273b704 00000002 c0c84000 00000000 00000000 00000001 fffffff5
Feb 23 14:19:28 hal kernel: c273b770 0002d87e c0c84000 c19cc0b4 00000042 00000083 c022c77c c0171103
Feb 23 14:19:28 hal kernel: Call Trace: [fib_node_get_info+163/212] [cdrom_start_read_continuation+0/272] [<c485a181>] [get_irq_list+198/280] [cdrom_read_from_buffer+243/268] [cdrom_read_intr+764/792] [<c485a33b>]
Feb 23 14:19:28 hal kernel: Call Trace: [<c0171103>] [<c018608c>] [<c485a181>] [<c0109882>] [<c0186073>] [<c0185f64>] [<c485a33b>]
Feb 23 14:19:28 hal kernel: [grow_buffers+137/232] [tcp_send_fin+58/416] [udp_sendmsg+303/844] [dev_mc_add+86/300] [udp_connect+8/412] [scsi_allocate_device+93/804] [ip_options_compile+1351/1380] [ip_forward_options+290/336]
Feb 23 14:19:28 hal kernel: [<c01262a9>] [<c01662ce>] [<c016b04f>] [<c015720a>] [<c016b3ec>] [<c01a4015>] [<c015e3af>] [<c015e6aa>]
Feb 23 14:19:28 hal kernel: [neigh_forced_gc+88/144] [unregister_sysctl_table+36/48] [init_ISA_irqs+12/76] [ip_error+41/180] [get_irq_list+236/280] [interruptible_sleep_on+51/92] [__down+16/144] [__down+7/144]
Feb 23 14:19:28 hal kernel: [<c0157768>] [<c0117924>] [<c0109d04>] [<c015abed>] [<c01098a8>] [<c01101d3>] [<c0110024>] [<c011001b>]
Feb 23 14:19:28 hal kernel: [schedule_timeout+64/140] [free_dma+10/56] [init_ISA_irqs+12/76] [v86_signal_return+12/16] bad state change, net_bh net/core/dev.c#1009 : after func fnc c0117924h
Feb 23 14:19:28 hal kernel: [<c010fc68>] [<c01115c6>] [<c0109d04>] [<c01088bc>] bad state change, net_bh net/core/dev.c#1009 : after func fnc c0117924h
Feb 23 14:19:28 hal kernel: current->state=0 current->ext_state=1 signal_pending(current)=0
Feb 23 14:19:28 hal kernel: pt_prev->funct = c015e404
Feb 23 14:19:28 hal kernel: bad state change, run_bottom_halves() fnc c0109d04h
Feb 23 14:19:28 hal kernel: current->state=0 current->ext_state=1 signal_pending(current)=0
Feb 23 14:19:28 hal kernel: bh-fnc c01572b0h
Feb 23 14:19:28 hal kernel: bad state change, bh fnc c01098a8h
Feb 23 14:19:28 hal kernel: current->state=0 current->ext_state=1 signal_pending(current)=0
Feb 23 14:19:28 hal kernel: del_from_runqueue! (pid=216 state=2)

Last line shows an attempt to remove task from runqueue which is not there.
Normally without boobytrap it would be ended by kernel oops or complete hanging.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:34 EST