[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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