[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Problem with C NodeOS ( Moab) (fwd)
I forgot to mention that the platform is SunOS 5.6 sparc
SUNW,SPARCstation-20.
---------- Forwarded message ----------
Date: Fri, 7 Jul 2000 19:31:58 -0400 (EDT)
From: Srinivasan Venkatraman <svenk1@hero.cslab.uky.edu>
To: janos-discuss@flux.cs.utah.edu
Subject: Problem with C NodeOS ( Moab)
Hi,
I am trying to develop an EE for the C implementation of NodeOS from your
group. I am facing few problems in the thread code of the implementation.
For testing purposes I wrote a very small program that creates a socket
inchannel with an an_chanrecv_t function to get the size of the packet
received. The problem happens once the function returns after printing the
size of the packet received. I looked through the code and debugged using
gdb and found the sequence of calls to be : ( This is after the
an_chan_recv_t function returns)
ani_thread_loop ( line 305) --> pthread_cleanup_pop(1) ( which calls
ani_thread_done ) ---> ani_chan_thread_exit ---->
threadpool_thread_schedule
Now is chan->tpool and thread->pool the same for all the flows. Ideally
they should be but when I tested with my application, repeatedly the
addresses of these two were different and there was SIGSEGV occuring
always in threadpool_lock() call in threadpool_thread_schedule().
I am not sure how this can happen but my test program does nothing other
than creating an socket inchan.
I would be glad if you can fix/identify the problem. Incase you need my
test program I'll be grad to send it.
Thanking you,
Srini.
[ Janos ] [ OSKit ] [ Network Testbed ] [ Flick ] [ Fluke ]
Flux Research Group / Department of Computer Science / University of Utah