in reply to Bus Error from threading IO::Socket
When the client disconnects, the process usually receives a SIGPIPE signal. That might also contribute to your problem when the corresponding (unaccessible?) handler is called.
You might want to install a signal handler to further investigate this? Do you see the "Client disconnected" message? Please add $|=1; early to do_stuff so buffering will not swallow this message.
Another Idea: SIGBUS is usually caused by a misaligned memory access. Thus, a change of your dynamically loaded libraries might have caused that (since Perl was compiled). Did you modify LD_LIBRARY_PATH lately? ldd your_perl_executable together with perl -V | egrep thread might shed some light on this issue.