[Vm-dev] squeak on opensolaris 2009.06
David T. Lewis
lewis at mail.msen.com
Sat Nov 7 22:58:37 UTC 2009
On Sat, Nov 07, 2009 at 12:45:35PM -0800, Randal L. Schwartz wrote:
>
> It might be related to the fact that 2009.06 solaris kernel added some extra
> error return from the poll() call that nobody was expecting (which broke
> apache), and I presume Squeak is using poll at the lowest level.
>
> Here's the stack where squeak seems to be frozen:
>
> cf6b1687 pollsys (8047850, 1, 8047908, 0)
> cf65ce01 pselect (8, 8047a50, 80479d0, 8047950, 8047908, 0) + 199
> cf65d1d6 select (8, 8047a50, 80479d0, 8047950, 8047948, 80f94e0) + 78
> 0807d45a aioPoll (0, 0, 0, 0, 0, 0) + 10a
> 00000000 ???????? ()
This is probably a red herring. An idle image will normally be spending
most of its time in aioPoll(), so if you interrupt it you are most
likely to see a backtrace like this. If aioPoll() were not working,
you would certainly see other problems in a normal headfull image.
The function in the unix VM is (from sqaio.h):
/* Sleep for at most `microSeconds'. Any event(s) arriving for
* handled fd(s) will terminate the sleep, with the appropriate
* handler(s) being called before returning.
*/
extern int aioPoll(int microSeconds);
Which is implemented using select() in platforms/unix/vm/aio.c. Off
topic but FYI, the aio functions are accessible from the image via
the AioPlugin, which is distributed with Unix VMs.
Dave
More information about the Vm-dev
mailing list