I would not know how to reproduce it, but for completeness I'll report this anyways and tag it with [lacks info]:
I was hosting a game today on my atibox (specs below) with the EnableNewThreadManager option set. The host was using r4021 and there was a single client which was using 3.7.1. The game (with the other player against AI players) started up fine, but as soon as I had given my workers the command to dig some gold (I'm not sure whether or not this worked as a trigger), the game froze. The OS mouse pointer was still moving but I could not interact with anything in the game, and the workers had frozen, too. The music continued to play. I needed to kill -9 it to make the megaglest process stop (plain 'kill' did not work).
Here's a backtrace on the frozen process (I did 5 in a row, and they all looked exactly the same):
0x00007f6816497303 in __GI___poll (fds=<optimized out>, fds@entry=0x7fffdef0ff80, nfds=<optimized out>, nfds@entry=1, timeout=<optimized out>, timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#0 0x00007f6816497303 in __GI___poll (fds=<optimized out>, fds@entry=0x7fffdef0ff80, nfds=<optimized out>, nfds@entry=1, timeout=<optimized out>, timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1 0x00007f6814b3d972 in _xcb_conn_wait (c=c@entry=0x139a790, cond=cond@entry=0x7fffdef0fff0, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:400
#2 0x00007f6814b3ee47 in wait_for_reply (c=c@entry=0x139a790, request=54220, e=e@entry=0x7fffdef100a8) at ../../src/xcb_in.c:390
#3 0x00007f6814b3f06b in xcb_wait_for_reply (c=0x139a790, request=54220, e=0x7fffdef100a8) at ../../src/xcb_in.c:420
#4 0x00007f68199a7289 in _XReply () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#5 0x00007f6819ce6e03 in DRI2GetBuffersWithFormat (dpy=0x1399400, drawable=44040207, width=width@entry=0x150a558, height=height@entry=0x150a55c, attachments=0x7fffdef10240, count=2, outCount=outCount@entry=0x7fffdef1022c) at dri2.c:483
#6 0x00007f6819ce48dc in dri2GetBuffersWithFormat (driDrawable=<optimized out>, width=0x150a558, height=0x150a55c, attachments=<optimized out>, count=<optimized out>, out_count=0x7fffdef1022c, loaderPrivate=0x150a450) at dri2_glx.c:782
#7 0x00007f680b3e821d in dri2_drawable_get_buffers (count=<synthetic pointer>, statts=<optimized out>, drawable=0x150a570) at dri2.c:184
#8 dri2_allocate_textures (drawable=0x150a570, statts=<optimized out>, count=<optimized out>) at dri2.c:389
#9 0x00007f680b3e9750 in dri_st_framebuffer_validate (stfbi=<optimized out>, statts=0x150ab60, count=2, out=0x7fffdef10340) at dri_drawable.c:78
#10 0x00007f680b423e96 in st_framebuffer_validate (stfb=stfb@entry=0x150a720, st=0x1502c00, st=0x1502c00) at ../../../../src/mesa/state_tracker/st_manager.c:195
#11 0x00007f680b4253c5 in st_manager_validate_framebuffers (st=st@entry=0x1502c00) at ../../../../src/mesa/state_tracker/st_manager.c:829
#12 0x00007f680b58e66c in st_validate_state (st=st@entry=0x1502c00) at ../../../../src/mesa/state_tracker/st_atom.c:170
#13 0x00007f680b59b317 in st_readpixels (ctx=0x1495300, x=<optimized out>, y=<optimized out>, width=1, height=<optimized out>, format=<optimized out>, type=5126, pack=0x149bb70, dest=0x7fffdef10560) at ../../../../src/mesa/state_tracker/st_cb_readpixels.c:52
#14 0x00007f680b48d3bc in _mesa_ReadnPixelsARB (x=999, y=483, width=1, height=1, format=6402, type=5126, bufSize=bufSize@entry=2147483647, pixels=pixels@entry=0x7fffdef10560) at ../../../../src/mesa/main/readpix.c:800
#15 0x00007f680b48d44a in _mesa_ReadPixels (x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>, format=<optimized out>, type=<optimized out>, pixels=0x7fffdef10560) at ../../../../src/mesa/main/readpix.c:808
#16 0x00000000006068a4 in Glest::Game::Renderer::computePosition (this=0xdf2f60 <Glest::Game::Renderer::getInstance()::renderer>, screenPos=..., worldPos=..., exactCoords=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:6617
#17 0x000000000058cb50 in Glest::Game::Game::mouseMove (this=0x1a2de30, x=595, y=345, ms=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:3479
#18 0x0000000000647a89 in Glest::Game::MainWindow::eventMouseMove (this=0x1418ad0, x=<optimized out>, y=566, ms=0xdf7a00 <Shared::Platform::Window::mouseState>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:917
#19 0x00000000009afd25 in Shared::Platform::Window::handleEvent () at /home/tomreyn/SCM/megaglest-trunk/source/shared_lib/sources/platform/sdl/window.cpp:188
#20 0x00000000006766a5 in Glest::Game::glestMain (argc=argc@entry=2, argv=argv@entry=0x7fffdef168e8) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4905
#21 0x0000000000678d69 in Glest::Game::glestMainWrapper (argc=2, argv=0x7fffdef168e8) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:5171
#22 0x00007f68163d076d in __libc_start_main (main=0x502dd0 <main(int, char**)>, argc=2, ubp_av=0x7fffdef168e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffdef168d8) at libc-start.c:226
#23 0x0000000000509289 in _start ()
The client just received a "timeout waiting for server" message (as expected).
I guess this can be a mesa issue, it's hard to tell. After this game I played another game with similar setup (i was hosting on the same revision and with the same INI setting, and there was one other human player on 3.7.1 as well as some CPU's) and there were no such issues