Hi again,
A couple of things I stupidly omitted from the original post (sorry!). Here's a bit more gdb output:
(gdb) print fds $1 = {fds_bits = {1400137067, 1147432549, 6647407, 403056675, 1835627120, 1986622569, 1936020069, 1702259823, 1868710258, 1867281522, 1886743407, 57681963, 1835627120, 1986622569, 1936020069, 1702259823, 1684291954, 1936942450, 1802465100, 1699901557, 1953265011, 122825247, 1835627120, 1986622569, 1936020069, 1702259823, 1920091506, 29295, 55323431, 1835627120, 1986622569, 1936020069}} (gdb) print s $2 = -1
evidently, static int socketWritable(int s) is being called with a negative value for s.
I'm not overly familiar with VM socket internals, so oncemore, I'll leave it there.
-M