When server.max-fds was set lower than system/process limits in lighttpd.conf it allocates that number of file descriptors to process evenets with various back-ends type.
However if lighty get larger number of fds under high system load it will access the array without checking whether the index is valid or not. That results in segfault or voluntary abort() in fdevent_get_context().
It can be easily demonstrated with lower fd value, say "server.max-fds = 100", while maintaining large number of active connections. Sometimes lighty records "accept failed: Too many open files" in error log and ignore the excessive file descriptor but it's not enough as lightty tries to accept connections upto 100 in network_server_handle_fdevent().