Because they are at the core of Web development, servlets
provide automatic crash reports (see the crash.c example).
But connection handlers
lacked this feature introduced in G-WAN v3.6+. In this version and more recent releases, it can be enabled by a #pragma debug
directive in the handler source code.
There's also a new and very detailled per-thread dump in v3.9+ to get a wider 'picture' of servlet/handler/libraries/server errors. It is stored in the ./trace file.
Your crash dump reports a libc
call error. The main source of such errors has been found in memory allocations. G-WAN v3.4+ tried to catch them more effectively by using its own (wait-free) allocator.
BTW, siege
is not performing very well whether this is on single-Cores or on multicore systems (for performance tests, weighttp
will let you test the server instead of the client).