Bug 4217 - Synergy crashes on middle mouse button paste
Summary: Synergy crashes on middle mouse button paste
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: x86_64 Linux
Priority: Normal major
Target Milestone: ---
Assignee: Jani Välimaa
QA Contact:
URL:
Whiteboard:
Keywords: Triaged
Depends on:
Blocks:
 
Reported: 2012-01-21 19:58 CET by Herbert Poetzl
Modified: 2012-02-06 09:04 CET (History)
0 users

See Also:
Source RPM: synergy-1.4.5-1.mga2.src.rpm
CVE:
Status comment:


Attachments

Description Herbert Poetzl 2012-01-21 19:58:47 CET
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 ()
Comment 1 Herbert Poetzl 2012-01-22 21:49:20 CET
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
Comment 2 Manuel Hiebel 2012-01-23 14:12:20 CET
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) => Triaged
Assignee: bugsquad => jani.valimaa

Comment 3 Herbert Poetzl 2012-01-23 16:33:08 CET
JFYI: reverting to 1.4.2 from Mageia 1 (rebuilt for Cauldron) seems to fix the issue
Comment 4 Jani Välimaa 2012-02-05 18:33:16 CET
Updated synergy to 1.4.6, please test if it fixes the crashes.
Comment 5 Herbert Poetzl 2012-02-06 09:04:27 CET
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 => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.