In a next run, I *did* get an assertion though...

DEBUG1: ../../../synergy/lib/server/CClientProxy1_0.cpp,261: send leave to 
"taryn"
synergys: ../../src/xcb_lock.c:77: _XGetXCBBuffer: Assertion `((int) ((xcb_req) 
- (dpy->request)) >= 0)' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7f8bd2a676f0 (LWP 25294)]
0x00007f8bd0e0def5 in raise () from /lib/libc.so.6
(gdb) bt
#0  0x00007f8bd0e0def5 in raise () from /lib/libc.so.6
#1  0x00007f8bd0e0f413 in abort () from /lib/libc.so.6
#2  0x00007f8bd0e06dc9 in __assert_fail () from /lib/libc.so.6
#3  0x00007f8bd1b53740 in _XGetXCBBuffer (dpy=0x1b3f410) at 
../../src/xcb_lock.c:77
#4  0x00007f8bd1b534a0 in _XCBLockDisplay (dpy=0x1b3f410) at 
../../src/xcb_lock.c:23
#5  0x00007f8bd1b5511f in _XReply (dpy=0x1b3f410, rep=0x7fffdaa913f0, extra=0, 
discard=1) at ../../src/xcb_io.c:367
#6  0x00007f8bd1b437f8 in XSync (dpy=0x1b3f410, discard=0) at 
../../src/Sync.c:48
#7  0x00007f8bd1b438da in _XSyncFunction (dpy=0x62ce) at ../../src/Synchro.c:37
#8  0x00007f8bd1b3a967 in XQueryPointer (dpy=0x1b3f410, w=315, 
root=0x7fffdaa91508, child=0x7fffdaa91500, root_x=0x7fffdaa914fc, 
    root_y=0x7fffdaa914f8, win_x=0x7fffdaa914f4, win_y=0x7fffdaa914f0, 
mask=0x7fffdaa914ec) at ../../src/QuPntr.c:64
#9  0x000000000046771d in CXWindowsKeyState::pollActiveModifiers 
(this=0x1b58780)
    at ../../../synergy/lib/platform/CXWindowsKeyState.cpp:141
#10 0x0000000000484a3b in CPlatformScreen::pollActiveModifiers (this=0x1b3f200) 
at ../../../synergy/lib/synergy/CPlatformScreen.cpp:93
#11 0x00000000004880b6 in CScreen::pollActiveModifiers (this=0x1b40ee0) at 
../../../synergy/lib/synergy/CScreen.cpp:397
#12 0x0000000000432b01 in CPrimaryClient::getToggleMask (this=0x1b5de60) at 
../../../synergy/lib/server/CPrimaryClient.cpp:89
#13 0x0000000000437c3c in CServer::switchScreen (this=0x1b5e940, dst=0x1b5de60, 
x=3343, y=817, forScreensaver=false)
    at ../../../synergy/lib/server/CServer.cpp:492
#14 0x0000000000438c7e in CServer::onMouseMoveSecondary (this=0x1b5e940, 
dx=-18, dy=-1) at ../../../synergy/lib/server/CServer.cpp:1793
#15 0x000000000043919f in CServer::handleMotionSecondaryEvent (this=0x1b5e940, 
[EMAIL PROTECTED])
    at ../../../synergy/lib/server/CServer.cpp:1277
#16 0x000000000043f3e0 in TMethodEventJob<CServer>::run (this=0x1b5f520, [EMAIL 
PROTECTED])
    at ../../../synergy/lib/base/TMethodEventJob.h:66
#17 0x000000000049a616 in CEventQueue::dispatchEvent (this=0x7fffdaa918d0, 
[EMAIL PROTECTED])
    at ../../../synergy/lib/base/CEventQueue.cpp:190
#18 0x000000000040b079 in mainLoop () at 
../../../synergy/cmd/synergys/synergys.cpp:685
#19 0x000000000040b30b in standardStartup (argc=4, argv=0x7fffdaa91ec8) at 
../../../synergy/cmd/synergys/synergys.cpp:735
#20 0x0000000000409b14 in run (argc=4, argv=0x7fffdaa91ec8, outputter=0x0, 
startup=0x40b289 <standardStartup>)
    at ../../../synergy/cmd/synergys/synergys.cpp:762
#21 0x0000000000409c6b in main (argc=4, argv=0x7fffdaa91ec8) at 
../../../synergy/cmd/synergys/synergys.cpp:1290

And the other thread:

(gdb) thread 3
[Switching to thread 3 (Thread 0x42f26950 (LWP 25298))]#0  0x00007f8bd1139d29 
in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
(gdb) bt
#0  0x00007f8bd1139d29 in pthread_cond_wait@@GLIBC_2.3.2 () from 
/lib/libpthread.so.0
#1  0x00007f8bd07c681b in ?? () from /usr/lib/libxcb.so.1
#2  0x00007f8bd07c755d in xcb_send_request () from /usr/lib/libxcb.so.1
#3  0x00007f8bd1b53e6f in issue_complete_request (dpy=0x1b3f410, veclen=3, 
vec=0x42f24a60) at ../../src/xcb_lock.c:148
#4  0x00007f8bd1b53a93 in _XPutXCBBuffer (dpy=0x1b3f410) at 
../../src/xcb_lock.c:203
#5  0x00007f8bd1b534cd in _XCBUnlockDisplay (dpy=0x1b3f410) at 
../../src/xcb_lock.c:31
#6  0x00007f8bd1b3fd25 in XSendEvent (dpy=0x1b3f410, w=18874372, propagate=0, 
event_mask=0, event=0x1b9bba0) at ../../src/SendEvent.c:81
#7  0x0000000000464633 in CXWindowsEventQueueBuffer::flush (this=0x1b5dc70)
    at ../../../synergy/lib/platform/CXWindowsEventQueueBuffer.cpp:247
#8  0x00000000004647c6 in CXWindowsEventQueueBuffer::addEvent (this=0x1b5dc70, 
dataID=2)
    at ../../../synergy/lib/platform/CXWindowsEventQueueBuffer.cpp:210
#9  0x000000000049a531 in CEventQueue::addEvent (this=0x7fffdaa918d0, [EMAIL 
PROTECTED]) at ../../../synergy/lib/base/CEventQueue.cpp:221
#10 0x0000000000492cb2 in CTCPSocket::sendEvent (this=0x1b9a070, type=39) at 
../../../synergy/lib/net/CTCPSocket.cpp:358
#11 0x00000000004930c7 in CTCPSocket::serviceConnected (this=0x1b9a070, 
job=0x7f8bc800a4b0, read=false, write=true, error=false)
    at ../../../synergy/lib/net/CTCPSocket.cpp:465
#12 0x000000000049549d in TSocketMultiplexerMethodJob<CTCPSocket>::run 
(this=0x7f8bc800a4b0, read=false, write=true, error=false)
    at ../../../synergy/lib/net/TSocketMultiplexerMethodJob.h:79
#13 0x000000000048d1e1 in CSocketMultiplexer::serviceThread 
(this=0x7fffdaa91a10) at ../../../synergy/lib/net/CSocketMultiplexer.cpp:228
#14 0x000000000048ef2d in TMethodJob<CSocketMultiplexer>::run (this=0x1b40f70) 
at ../../../synergy/lib/base/TMethodJob.h:63
#15 0x0000000000498b57 in CThread::threadFunc (vjob=0x1b40f70) at 
../../../synergy/lib/mt/CThread.cpp:152
#16 0x00000000004b0cc8 in CArchMultithreadPosix::doThreadFunc (this=0x1b3b010, 
thread=0x1b3eca0)
    at ../../../synergy/lib/arch/CArchMultithreadPosix.cpp:720
#17 0x00000000004b0e32 in CArchMultithreadPosix::threadFunc (vrep=0x1b3eca0) at 
../../../synergy/lib/arch/CArchMultithreadPosix.cpp:701
#18 0x00007f8bd1135fc7 in start_thread () from /lib/libpthread.so.0
#19 0x00007f8bd0eab7cd in clone () from /lib/libc.so.6
#20 0x0000000000000000 in ?? ()

I'm pretty sure this is the problem:
You are calling XSendEvent (or XSync or whatever) from one thread
and at the same time XQueryPointer (or whatever) from another
thread. That is not allowed. You should do all calls from one
thread.

-- 
Carlo Wood <[EMAIL PROTECTED]>



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to