Description of problem: copy/paste from synergy server (1.4.5, Linux) kills Version-Release number of selected component (if applicable): synergy-1.4.5-1.mga2.x86_64 How reproducible: quite often, but not always Steps to Reproduce: 1.select something from terminal 2.move to client 3.paste with middle mouse button Program received signal SIGSEGV, Segmentation fault. __pthread_mutex_lock (mutex=0x0) at pthread_mutex_lock.c:50 50 unsigned int type = PTHREAD_MUTEX_TYPE (mutex); (gdb) where #0 __pthread_mutex_lock (mutex=0x0) at pthread_mutex_lock.c:50 #1 0x00000000004308cc in IArchString::convStringWCToMB(char*, wchar_t const*, unsigned int, bool*) () #2 0x000000000047032c in CUnicode::UTF8ToText(std::string const&, bool*) () #3 0x00000000004519ae in CXWindowsClipboardTextConverter::fromIClipboard(std::string const&) const () #4 0x000000000044fa13 in CXWindowsClipboard::addSimpleRequest(unsigned long, unsigned long, unsigned long, unsigned long) () #5 0x0000000000450559 in CXWindowsClipboard::addRequest(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) () #6 0x0000000000444862 in CXWindowsScreen::handleSystemEvent(CEvent const&, void*) () #7 0x000000000046ad35 in CEventQueue::dispatchEvent(CEvent const&) () #8 0x000000000043a756 in CClientApp::mainLoop() () #9 0x000000000043931e in CClientApp::runInner(int, char**, ILogOutputter*, int (*)(int, char**)) () #10 0x0000000000438e07 in CApp::run(int, char**) () #11 0x000000000042e775 in main () Program received signal SIGSEGV, Segmentation fault. __pthread_mutex_lock (mutex=0x0) at pthread_mutex_lock.c:50 50 unsigned int type = PTHREAD_MUTEX_TYPE (mutex); #0 __pthread_mutex_lock (mutex=0x0) at pthread_mutex_lock.c:50 #1 0x00000000004308cc in IArchString::convStringWCToMB(char*, wchar_t const*, unsigned int, bool*) () #2 0x000000000047032c in CUnicode::UTF8ToText(std::string const&, bool*) () #3 0x00000000004519ae in CXWindowsClipboardTextConverter::fromIClipboard(std::string const&) const () #4 0x000000000044fa13 in CXWindowsClipboard::addSimpleRequest(unsigned long, unsigned long, unsigned long, unsigned long) () #5 0x0000000000450559 in CXWindowsClipboard::addRequest(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) () #6 0x0000000000444862 in CXWindowsScreen::handleSystemEvent(CEvent const&, void*) () #7 0x000000000046ad35 in CEventQueue::dispatchEvent(CEvent const&) () #8 0x000000000043a756 in CClientApp::mainLoop() () #9 0x000000000043931e in CClientApp::runInner(int, char**, ILogOutputter*, int (*)(int, char**)) () #10 0x0000000000438e07 in CApp::run(int, char**) () #11 0x000000000042e775 in main () Program received signal SIGSEGV, Segmentation fault. __pthread_mutex_lock (mutex=0x0) at pthread_mutex_lock.c:50 50 unsigned int type = PTHREAD_MUTEX_TYPE (mutex); #0 __pthread_mutex_lock (mutex=0x0) at pthread_mutex_lock.c:50 #1 0x00000000004308cc in IArchString::convStringWCToMB(char*, wchar_t const*, unsigned int, bool*) () #2 0x000000000047032c in CUnicode::UTF8ToText(std::string const&, bool*) () #3 0x00000000004519ae in CXWindowsClipboardTextConverter::fromIClipboard(std::string const&) const () #4 0x000000000044fa13 in CXWindowsClipboard::addSimpleRequest(unsigned long, unsigned long, unsigned long, unsigned long) () #5 0x0000000000450559 in CXWindowsClipboard::addRequest(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) () #6 0x0000000000444862 in CXWindowsScreen::handleSystemEvent(CEvent const&, void*) () #7 0x000000000046ad35 in CEventQueue::dispatchEvent(CEvent const&) () #8 0x000000000043a756 in CClientApp::mainLoop() () #9 0x000000000043931e in CClientApp::runInner(int, char**, ILogOutputter*, int (*)(int, char**)) () #10 0x0000000000438e07 in CApp::run(int, char**) () #11 0x000000000042e775 in main ()
here a similar crash on the server side: (which happens after some time even without copy/paste) Program received signal SIGSEGV, Segmentation fault. 0xb785ca9d in pthread_mutex_lock () from /lib/i686/libpthread.so.0 (gdb) where #0 0xb785ca9d in pthread_mutex_lock () from /lib/i686/libpthread.so.0 #1 0x0807e082 in IArchString::convStringMBToWC (this=0x8357148, dst=0x0, src=0x83c12b4 "foo"..., n=1017, errors=0xbfeec50f) at /usr/src/debug/synergy-1.4.5-Source/src/lib/arch/IArchString.cpp:102 #2 0x080e7405 in CUnicode::textToUTF8 (src=@0xbfeec564, errors=0xbfeec50f) at /usr/src/debug/synergy-1.4.5-Source/src/lib/base/CUnicode.cpp:305 #3 0x080a18af in CXWindowsClipboardTextConverter::toIClipboard (this=0x836fce0, data=@0xbfeec564) at /usr/src/debug/synergy-1.4.5-Source/src/lib/platform/CXWindowsClipboardTextConverter.cpp:66 #4 0x0809ce6c in CXWindowsClipboard::icccmFillCache (this=0x8372b68) at /usr/src/debug/synergy-1.4.5-Source/src/lib/platform/CXWindowsClipboard.cpp:556 #5 0x0809ff4e in CXWindowsClipboard::has (this=0x8372b68, format=IClipboard::kText) at /usr/src/debug/synergy-1.4.5-Source/src/lib/platform/CXWindowsClipboard.cpp:486 #6 0x080df1a1 in IClipboard::copy (dst=0x83732fc, src=0x8372b68, time=473281326) at /usr/src/debug/synergy-1.4.5-Source/src/lib/synergy/IClipboard.cpp:127 #7 0x080c3e07 in CServer::onClipboardChanged (this=0x8373218, sender=0x8357a00, id=0 '\0', seqNum=234) at /usr/src/debug/synergy-1.4.5-Source/src/lib/server/CServer.cpp:1575 #8 0x080c4409 in CServer::switchScreen (this=0x8373218, dst=0x83bb380, x=725, y=1079, forScreensaver=false) at /usr/src/debug/synergy-1.4.5-Source/src/lib/server/CServer.cpp:537 #9 0x080c5e1b in CServer::onMouseMovePrimary (this=0x8373218, x=725, y=1079) at /usr/src/debug/synergy-1.4.5-Source/src/lib/server/CServer.cpp:1812 #10 0x080caf8e in TMethodEventJob<CServer>::run (this=0x8373620, event=@0xbfeec8bc) at /usr/src/debug/synergy-1.4.5-Source/src/lib/base/TMethodEventJob.h:69 #11 0x080e0f9f in CEventQueue::dispatchEvent (this=0xbfeec7d8, event=@0xbfeec8bc) at /usr/src/debug/synergy-1.4.5-Source/src/lib/base/CEventQueue.cpp:193 #12 0x0808c4f1 in CServerApp::mainLoop (this=0xbfeeca44) at /usr/src/debug/synergy-1.4.5-Source/src/lib/synergy/CServerApp.cpp:780 #13 0x0807e418 in standardStartupStatic (argc=4, argv=0xbfeecb44) at /usr/src/debug/synergy-1.4.5-Source/src/lib/arch/CArchAppUtilUnix.cpp:56 #14 0x08089361 in CServerApp::runInner (this=0xbfeeca44, argc=4, argv=0xbfeecb44, outputter=0x0, startup=0x807e3f0 <standardStartupStatic(int, char**)>) at /usr/src/debug/synergy-1.4.5-Source/src/lib/synergy/CServerApp.cpp:821 #15 0x0807e3c7 in CArchAppUtilUnix::run (this=0x8357198, argc=4, argv=0xbfeecb44) at /usr/src/debug/synergy-1.4.5-Source/src/lib/arch/CArchAppUtilUnix.cpp:62 #16 0x08088514 in CApp::run (this=0xbfeeca44, argc=4, argv=0xbfeecb44) at /usr/src/debug/synergy-1.4.5-Source/src/lib/synergy/CApp.cpp:266 #17 0x0807be5b in main (argc=4, argv=0xbfeecb44) at /usr/src/debug/synergy-1.4.5-Source/src/cmd/synergys/synergys.cpp:34
Hi, thanks for reporting this bug. Assigned to the package maintainer. (Please set the status to 'assigned' if you are working on it)
Keywords: (none) => TriagedAssignee: bugsquad => jani.valimaa
JFYI: reverting to 1.4.2 from Mageia 1 (rebuilt for Cauldron) seems to fix the issue
Updated synergy to 1.4.6, please test if it fixes the crashes.
AFAICT, the following patch fixes the described issues for 1.4.5: http://vserver.13thfloor.at/Stuff/MAGEIA/BUGS/synergy-1.4.5-mutex-fix.diff this patch is part of the changes between 1.4.5 and 1.4.6, so I consider it fixed. tests so far showed no problems with copy/paste on client or server side.
Status: NEW => RESOLVEDResolution: (none) => FIXED