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

Re: flsym



> Ah, thanks.  This is the key part:
> 
> 0x0257669 in (0x0257650) __assert()
> 0x022b5f1 in (0x022b5c8) ani_demuxkey_removechannel()
> 0x02285e6 in (0x02281dc) ani_chan_init()
> 0x022094a in (0x022078c) an_outchan_create()
> 0x0101f9b in (0x0101de0) getUDPOutFromContext()
> 0x021e7bd in (0x021e754) jsiGetPlexOutLinkFromContext()
> 0x021f8d8 in (0x021f810) plexSetup()
> 0x021fd88 in (0x021fd30) jsiPlexWindowRecvPacket()
> 0x010184f in (0x01017a4) jsiCallBack()
> 0x02318ce in (0x0231408) ani_thread_loop()
> 0x023c5c8 in (0x023c584) pthread_start_thread()
> 
> which shows that an attempt to create a thread failed and it tried to
> clean up.  This is exactly the case that should have been fixed by the
> patch that Tim sent.  Something fishy is going on.  It sounds like there
> might be a problem with our Makefiles and maybe the file didn't get
> recompiled, or the recompiled module didn't get put into libmoab, or
> the kernel didn't get relinked, etc.

This is part of the problem, the link to moab and the oskit is done
outside of the makefiles and so theres no dependency.  So if you change
those you need to remove the `Kaffe' executable in the build tree and
rerun make.

> You can verify this by sticking in a printf like:
> 
> 	void
> 	ani_demuxkey_removechannel(ani_demuxkey_t *dkey, ani_chan_t *chan)
> 	{
> 	printf("In removechannel, dkey=%p, chan=%p\n", dkey, chan);
> 		assert(dkey->chan == chan);
> 		dkey->chan = 0;
> 	}
> 
> 
> If it still panics and you don't see the printf, then the change never
> made it into your kernel.

While you're at it, change line 367 in
 janosvm/libraries/extensions/nodeos/clib/jsiPlexUDP.c from:

		strcpy(attr.proto.data, "if4");

to

		sprintf(attr.proto.data, "if%d", pu->ifNumber);


doh...

tim




[ Janos ] [ OSKit ] [ Network Testbed ] [ Flick ] [ Fluke ]
Flux Research Group / Department of Computer Science / University of Utah