Bug 314264

Summary: Corrupt base models cause synchronization hangs
Product: [Applications] simon Reporter: Peter Grasch <me>
Component: simondAssignee: Peter Grasch <me>
Status: RESOLVED FIXED    
Severity: normal    
Priority: HI    
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:

Description Peter Grasch 2013-02-01 18:51:21 UTC
When the server receives a corrupt model, the synchronization will sometimes simply hang after the error is reported to the user.
Comment 1 Peter Grasch 2013-06-11 18:37:34 UTC
Somehow, I can no longer reproduce it no matter how hard I try.
Might have gotten fixed with the restructuring of the way the server sends responses.
Comment 2 Peter Grasch 2013-06-12 13:12:24 UTC
Still present when using unsupported base model (sphinx w/o sphinx support for example)
Comment 3 Peter Grasch 2013-06-12 18:44:50 UTC
Git commit a422221735c016463a79ff06a53cb56323818e49 by Peter Grasch.
Committed on 12/06/2013 at 18:20.
Pushed by grasch into branch 'master'.

Fixing network communication corruption

The method to process the server replies was not reentrant. As our
custom thread safe tcp socket did not account for that, a race condition
would occasionally mess with the read cursor.

M  +30   -18   simon/src/simonrecognitioncontrol/recognitioncontrol.cpp
M  +2    -0    simon/src/simonrecognitioncontrol/recognitioncontrol.h

http://commits.kde.org/simon/a422221735c016463a79ff06a53cb56323818e49