in reply to Any Known Problems with IO::Socket and/or IO::Select?

I would try building a debugging perl (i.e. with Configure option -Doptimize=-g), and make sure you can dump core files (check that ulimit -c is large enough, preferably unlimited).

Then run your server under the debugging perl. When it segfaults and dumps core, open up the core file in gdb (gdb -c core) and do a backtrace (bt) to see where it's crashing.

Until you know where the crash is coming from, you're a bit stuck. (Like others here, I'm inclined to doubt that the problem is with IO::Socket or IO::Select, because those modules are both widely used and well-tested, but it's not impossible.)