[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