[vox-tech] glibc and socket()

Nicole the Wonder Nerd vox-tech@lists.lugod.org
Mon, 10 Feb 2003 18:42:12 -0800


Hi guys

I'm trying to track down a kernel bug.  I've compiled my programs and the kernel 
with -g, and I'm stepping through the executable with gdb.
A call to sockaddr_check() goes through OK, but a subsequent call to socket() 
triggers a kernel panic.  Control never even gets to the first line of socket().

Breakpoint 1, initialize_listen_socket (saP=0xbfffea78) at libhttpd.c:384
384         if ( ! sockaddr_check( saP ) )
(gdb) n
390         listen_fd = socket( saP->sa.sa_family, SOCK_STREAM, 0 );
(gdb) s
At this point, the system goes supine.  

According to http://www.skyfree.org/linux/kernel_network/socket.html , 
socket() is actually a glibc function; it sets things [1] up and then calls the 
system call sys_socketcall().  But I don't know where the kernel panic is 
triggered, and I also don't know how to recompile glibc or even if that would 
be a useful course of action.

Anyone have any ideas?  I've even tried compiling the target binary with -static; 
still no information on time/place of death.

Thanks

--nicole twn


[1] I am not 100% sure WHAT things, though.

***
"Can anything stop The Blob?!?"--old programming textbook
Visit www.nicolopolis.com ... digital nonsense for a weary world.