Skip to contentSkip to conversation

kernel BUG at sock.c:722! (2.4.0-test11-pre4)

DISCUSSION Jorge Nerin 2 participants 2 messages Nov 14, 2000 – Nov 15, 2000

Subsystems (6)
lore
Share & tools
lore
#0 lore raw

Well, first saw this in test11-pre1, and now in test11-pre4 I report it again.

Nov 14 15:10:51 quartz kernel: kernel BUG at sock.c:722!
Nov 14 15:10:51 quartz kernel: invalid operand: 0000
Nov 14 15:10:51 quartz kernel: CPU:    0
Nov 14 15:10:51 quartz kernel: EIP:    0010:[sock_wait_for_wmem+104/244]
Nov 14 15:10:51 quartz kernel: EFLAGS: 00010286
Nov 14 15:10:51 quartz kernel: eax: 0000001a   ebx: c1b2a000   ecx:
00000000   edx: 00000002
Nov 14 15:10:51 quartz kernel: esi: c25c60e0   edi: c25c60e0   ebp:
7fffffff   esp: c1b2be7c
Nov 14 15:10:51 quartz kernel: ds: 0018   es: 0018   ss: 0018
Nov 14 15:10:51 quartz kernel: Process sound-propertie (pid: 995,
stackpage=c1b2b000)
Nov 14 15:10:51 quartz kernel: Stack: c0216f45 c021718b 000002d2
7fffffff c25c60e0 c1b2a000 00000ff0 c1b2a000
Nov 14 15:10:51 quartz kernel:        00000000 c1b2a000 00000000
00000000 00000000 c1b2a000 00000000 00000000
Nov 14 15:10:51 quartz kernel:        c01a6829 c25c60e0 7fffffff
c5a81540 00007fef c1b90000 c19a74f4 00000000
Nov 14 15:10:51 quartz kernel: Call Trace: [vga_con+2501/10176]
[vga_con+3083/10176] [sock_alloc_send_skb+221/300]
[unix_stream_sendmsg+302/784] [unix_stream_sendmsg+0/784]
[sock_sendmsg+129/164] [unix_stream_sendmsg+0/784]
Nov 14 15:10:51 quartz kernel:        [sock_write+163/172]
[sys_write+142/196] [system_call+55/64]
Nov 14 15:10:51 quartz kernel: Code: 0f 0b 83 c4 0c 8b 87 50 03 00 00 f0

0f ba 70 04 00 8d 4c 24

ksymoops 2.3.4 on i586 2.4.0-test11-pre4. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.0-test11-pre4/ (default) -m /boot/System.map-2.4.0-test11-pre4 (specified)

activating NMI Watchdog ... done.

cpu: 0, clocks: 668169, slice: 222723
cpu: 1, clocks: 668169, slice: 222723
invalid operand: 0000
CPU:    0
EIP:    0010:[<c01a66c0>]

Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010286
eax: 0000001a ebx: c1b2a000 ecx: 00000000 edx: 00000002
esi: c25c60e0 edi: c25c60e0 ebp: 7fffffff esp: c1b2be7c
ds: 0018 es: 0018 ss: 0018
Process sound-propertie (pid: 995, stackpage=c1b2b000)

Stack: c0216f45 c021718b 000002d2 7fffffff c25c60e0 c1b2a000 00000ff0
c1b2a000 
       00000000 c1b2a000 00000000 00000000 00000000 c1b2a000 00000000
00000000 
       c01a6829 c25c60e0 7fffffff c5a81540 00007fef c1b90000 c19a74f4
00000000 
Call Trace: [<c0216f45>] [<c021718b>] [<c01a6829>] [<c01e2f2e>]
[<c01e2e00>] [<c01a3a0d>] [<c01e2e00>] 
       [<c01a3c2b>] [<c013c81a>] [<c010a0f7>] 
Code: 0f 0b 83 c4 0c 8b 87 50 03 00 00 f0 0f ba 70 04 00 8d 4c 24 
Quoted 1 line
Quoted 1 line

EIP; c01a66c0 <sock_wait_for_wmem+68/f4> <=====

Trace; c0216f45 <vga_con+9c5/27c0>
Trace; c021718b <vga_con+c0b/27c0>
Trace; c01a6829 <sock_alloc_send_skb+dd/12c>
Trace; c01e2f2e <unix_stream_sendmsg+12e/310>
Trace; c01e2e00 <unix_stream_sendmsg+0/310>
Trace; c01a3a0d <sock_sendmsg+81/a4>
Trace; c01e2e00 <unix_stream_sendmsg+0/310>
Trace; c01a3c2b <sock_write+a3/ac>
Trace; c013c81a <sys_write+8e/c4>
Trace; c010a0f7 <system_call+37/40>
Code; c01a66c0 <sock_wait_for_wmem+68/f4>
00000000 <_EIP>:
Code; c01a66c0 <sock_wait_for_wmem+68/f4> <=====
0: 0f 0b ud2a <=====
Code; c01a66c2 <sock_wait_for_wmem+6a/f4>
2: 83 c4 0c add $0xc,%esp
Code; c01a66c5 <sock_wait_for_wmem+6d/f4>
5: 8b 87 50 03 00 00 mov 0x350(%edi),%eax
Code; c01a66cb <sock_wait_for_wmem+73/f4>
b: f0 0f ba 70 04 00 lock btrl $0x0,0x4(%eax)
Code; c01a66d1 <sock_wait_for_wmem+79/f4>
11: 8d 4c 24 00 lea 0x0(%esp,1),%ecx

Signature · 6 lines
Jorge Nerin
<[email protected]>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
#1 lore raw

Date: Tue, 14 Nov 2000 23:46:33 +0100
From: Jorge Nerin <[email protected]>

Well, first saw this in test11-pre1, and now in test11-pre4 I report it again.

Do you use any one of USB, PCMCIA+Yenta, or ATM? If so, please give the following patch a try.

If not, do you use KHTTPD? If so, please don't... it's unmaintained, buggy, and to eventually be replaced by TUX.

drivers/sbus/char/su.c renamed from drivers/sbus/char/su.c.~1~ +3 -2
@@ -1,4 +1,4 @@
-/* $Id: su.c,v 1.42 2000/10/14 10:09:04 davem Exp $
+/* $Id: su.c,v 1.43 2000/11/15 07:28:09 davem Exp $
  * su.c: Small serial driver for keyboard/mouse interface on sparc32/PCI
  *
  * Copyright (C) 1997  Eddie C. Dost  ([email protected])
@@ -2001,6 +2001,7 @@
 #endif
 		schedule();
 	}
+	current->state = TASK_RUNNING;
 	remove_wait_queue(&info->open_wait, &wait);
 	if (extra_count)
 		info->count++;
@@ -2219,7 +2220,7 @@
  */
 static __inline__ void __init show_su_version(void)
 {
-	char *revision = "$Revision: 1.42 $";
+	char *revision = "$Revision: 1.43 $";
 	char *version, *p;
 
 	version = strchr(revision, ' ');
drivers/sbus/char/sab82532.c renamed from drivers/sbus/char/sab82532.c.~1~ +3 -2
@@ -1,4 +1,4 @@
-/* $Id: sab82532.c,v 1.52 2000/10/14 10:09:04 davem Exp $
+/* $Id: sab82532.c,v 1.53 2000/11/15 07:28:09 davem Exp $
  * sab82532.c: ASYNC Driver for the SIEMENS SAB82532 DUSCC.
  *
  * Copyright (C) 1997  Eddie C. Dost  ([email protected])
@@ -1833,6 +1833,7 @@
 #endif
 		schedule();
 	}
+	current->state = TASK_RUNNING;
 	remove_wait_queue(&info->open_wait, &wait);
 	if (!tty_hung_up_p(filp))
 		info->count++;
@@ -2133,7 +2134,7 @@
 
 static inline void __init show_serial_version(void)
 {
-	char *revision = "$Revision: 1.52 $";
+	char *revision = "$Revision: 1.53 $";
 	char *version, *p;
 
 	version = strchr(revision, ' ');
drivers/usb/storage/transport.c renamed from drivers/usb/storage/transport.c.~1~ +2 -0
@@ -423,6 +423,7 @@
 	if (status) {
 		/* something went wrong */
 		up(&(us->current_urb_sem));
+		current->state = TASK_RUNNING;
 		remove_wait_queue(&wqh, &wait);
 		kfree(dr);
 		return status;
@@ -480,6 +481,7 @@
 	if (status) {
 		/* something went wrong */
 		up(&(us->current_urb_sem));
+		current->state = TASK_RUNNING;
 		remove_wait_queue(&wqh, &wait);
 		return status;
 	}
drivers/usb/usb.c renamed from drivers/usb/usb.c.~1~ +2 -0
@@ -951,6 +951,7 @@
 	if (status) {
 		// something went wrong
 		usb_free_urb(urb);
+		current->state = TASK_RUNNING;
 		remove_wait_queue(&wqh, &wait);
 		return status;
 	}
@@ -961,6 +962,7 @@
 	} else
 		status = 1;
 
+	current->state = TASK_RUNNING;
 	remove_wait_queue(&wqh, &wait);
 
 	if (!status) {
drivers/usb/net1080.c renamed from drivers/usb/net1080.c.~1~ +1 -0
@@ -653,6 +653,7 @@
 		dbg ("waited for %d urb completions", temp);
 	}
 	dev->wait = 0;
+	current->state = TASK_RUNNING;
 	remove_wait_queue (&unlink_wakeup, &wait); 
 
 	mutex_unlock (&dev->mutex);
drivers/usb/usb-ohci.c renamed from drivers/usb/usb-ohci.c.~1~ +2 -0
@@ -654,6 +654,7 @@
 				set_current_state(TASK_UNINTERRUPTIBLE);
 				while (timeout && (urb->status == USB_ST_URB_PENDING))
 					timeout = schedule_timeout (timeout);
+				current->state = TASK_RUNNING;
 				remove_wait_queue (&unlink_wakeup, &wait); 
 				if (urb->status == USB_ST_URB_PENDING) {
 					err ("unlink URB timeout");
@@ -765,6 +766,7 @@
 				set_current_state(TASK_UNINTERRUPTIBLE);
 				while (timeout && dev->ed_cnt)
 					timeout = schedule_timeout (timeout);
+				current->state = TASK_RUNNING;
 				remove_wait_queue (&freedev_wakeup, &wait);
 				if (dev->ed_cnt) {
 					err ("free device %d timeout", usb_dev->devnum);
drivers/atm/atmtcp.c renamed from drivers/atm/atmtcp.c.~1~ +1 -0
@@ -77,6 +77,7 @@
 		set_current_state(TASK_UNINTERRUPTIBLE);
 		schedule();
 	}
+	current->state = TASK_RUNNING;
 	remove_wait_queue(&vcc->sleep,&wait);
 	return error;
 }
drivers/pcmcia/yenta.c renamed from drivers/pcmcia/yenta.c.~1~ +1 -0
@@ -585,6 +585,7 @@
 		add_wait_queue(&socket->wait, &wait);
 		if (!socket->events)
 			schedule_timeout(HZ);
+		current->state = TASK_RUNNING;
 		remove_wait_queue(&socket->wait, &wait);
 	} while (!signal_pending(current));
 	MOD_DEC_USE_COUNT;
net/atm/signaling.c renamed from net/atm/signaling.c.~1~ +1 -0
@@ -50,6 +50,7 @@
 		}
 		schedule();
 	}
+	current->state = TASK_RUNNING;
 	remove_wait_queue(&sigd_sleep,&wait);
 #else
 	if (!sigd) {

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/