From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18212 invoked by alias); 16 Jan 2008 10:13:10 -0000 Received: (qmail 18201 invoked by uid 22791); 16 Jan 2008 10:13:08 -0000 X-Spam-Check-By: sourceware.org Received: from mailgw4.ericsson.se (HELO mailgw4.ericsson.se) (193.180.251.62) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 16 Jan 2008 10:12:35 +0000 Received: from mailgw4.ericsson.se (unknown [127.0.0.1]) by mailgw4.ericsson.se (Symantec Mail Security) with ESMTP id 4CD55211C4 for ; Wed, 16 Jan 2008 11:12:32 +0100 (CET) X-AuditID: c1b4fb3e-b0ea3bb00000459d-52-478dd890ca3b Received: from esealmw129.eemea.ericsson.se (unknown [153.88.254.124]) by mailgw4.ericsson.se (Symantec Mail Security) with ESMTP id 20D5921157 for ; Wed, 16 Jan 2008 11:12:32 +0100 (CET) Received: from esealmw103.eemea.ericsson.se ([153.88.200.66]) by esealmw129.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Wed, 16 Jan 2008 11:12:31 +0100 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C85828.4E4C9982" Subject: remote protocol patch Date: Wed, 16 Jan 2008 10:13:00 -0000 Message-ID: <2D8B78375B46EF4C85EE21B9EB64350A062ED604@esealmw103.eemea.ericsson.se> From: =?iso-8859-1?Q?Zolt=E1n_Fily=F3?= To: Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-01/txt/msg00391.txt.bz2 This is a multi-part message in MIME format. ------_=_NextPart_001_01C85828.4E4C9982 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-length: 992 Hi, I found that the serial remote protocol runs into a deadlock when the seria= l line is noisy. Below a gdb log fragment with original code: r +$S05#b8 w +$g#67 r w $g#67 r w $g#67 r w $g#67 r w - r w - r w -+ infinitely. Because the target side NetBSD kernel throws all characters unt= il get a new packet start ('$') char. The patch separates "acknowledge timeout" and "packet retry" cases. After patching the GDB behaviour changed. The log below generated by patche= d GDB: r +$S05#b8 w +$g#67 r w $g#67 r w $g#67 r and so on. GDB stay good state after in/out packet loss. I tried on the GDB 6.5 version under SuSE 10.2 distribution. Thank you your work, Zolt=E1n Fily=F3 zoltan dot filyo at ericsson dot com ------_=_NextPart_001_01C85828.4E4C9982 Content-Type: text/x-patch; name="remote-protocol.diff" Content-Transfer-Encoding: base64 Content-Description: remote-protocol.diff Content-Disposition: attachment; filename="remote-protocol.diff" Content-length: 4067 LS0tIHJlbW90ZS5jLm9yZwkyMDA4LTAxLTEwIDExOjUxOjEwLjAwMDAwMDAw MCArMDEwMAorKysgcmVtb3RlLmMJMjAwOC0wMS0xMCAxNToxNjoyMi4wMDAw MDAwMDAgKzAxMDAKQEAgLTM4MDksNyArMzgwOSwxMCBAQAogICBjaGFyICpi dWYyID0gYWxsb2NhIChjbnQgKyA2KTsKIAogICBpbnQgY2g7Ci0gIGludCB0 Y291bnQgPSAwOworICBzdGF0aWMgY29uc3QgaW50IG1heF9hY2tfcmVhZF9j b3VudCA9IDM7CisgIGludCBhY2tfdGltZW91dF9jb3VudCA9IDA7CisgIHN0 YXRpYyBjb25zdCBpbnQgbWF4X3BhY2tldF9yZXRyeV9jb3VudCA9IDEwMDA7 IC8qIFhYWCBJcyB0aGlzIHZhbHVlIGFjY2VwdGFibGU/ICovIAorICBpbnQg cGFja2V0X3RyeWluZ19jb3VudCA9IDA7CiAgIGNoYXIgKnA7CiAKICAgLyog Q29weSB0aGUgcGFja2V0IGludG8gYnVmZmVyIEJVRjIsIGVuY2Fwc3VsYXRp bmcgaXQKQEAgLTM4MjksNyArMzgzMiw3IEBACiAKICAgLyogU2VuZCBpdCBv dmVyIGFuZCBvdmVyIHVudGlsIHdlIGdldCBhIHBvc2l0aXZlIGFjay4gICov CiAKLSAgd2hpbGUgKDEpCisgIGZvciAocGFja2V0X3RyeWluZ19jb3VudCA9 IDA7IHBhY2tldF90cnlpbmdfY291bnQgPCBtYXhfcGFja2V0X3JldHJ5X2Nv dW50OyArK3BhY2tldF90cnlpbmdfY291bnQpCiAgICAgewogICAgICAgaW50 IHN0YXJ0ZWRfZXJyb3Jfb3V0cHV0ID0gMDsKIApAQCAtMzg0NSw3ICszODQ4 LDcgQEAKIAlwZXJyb3Jfd2l0aF9uYW1lIChfKCJwdXRwa3Q6IHdyaXRlIGZh aWxlZCIpKTsKIAogICAgICAgLyogUmVhZCB1bnRpbCBlaXRoZXIgYSB0aW1l b3V0IG9jY3VycyAoLTIpIG9yICcrJyBpcyByZWFkLiAgKi8KLSAgICAgIHdo aWxlICgxKQorICAgICAgZm9yIChhY2tfdGltZW91dF9jb3VudCA9IDA7IGFj a190aW1lb3V0X2NvdW50IDwgbWF4X2Fja19yZWFkX2NvdW50OyArK2Fja190 aW1lb3V0X2NvdW50KQogCXsKIAkgIGNoID0gcmVhZGNoYXIgKHJlbW90ZV90 aW1lb3V0KTsKIApAQCAtMzg3MCwxNSArMzg3MywxMyBAQAogCSAgICBjYXNl ICcrJzoKIAkgICAgICBpZiAocmVtb3RlX2RlYnVnKQogCQlmcHJpbnRmX3Vu ZmlsdGVyZWQgKGdkYl9zdGRsb2csICJBY2tcbiIpOwotCSAgICAgIHJldHVy biAxOworCSAgICAgIHJldHVybiAxOyAvKiBXZSBhcmUgaGFwcHksIHBhY2tl dCBzZW5kaW5nIHdhcyBzdWNjZXNzZnVsLiAqLwogCSAgICBjYXNlICctJzoK IAkgICAgICBpZiAocmVtb3RlX2RlYnVnKQogCQlmcHJpbnRmX3VuZmlsdGVy ZWQgKGdkYl9zdGRsb2csICJOYWtcbiIpOwotCSAgICBjYXNlIFNFUklBTF9U SU1FT1VUOgotCSAgICAgIHRjb3VudCsrOwotCSAgICAgIGlmICh0Y291bnQg PiAzKQotCQlyZXR1cm4gMDsKIAkgICAgICBicmVhazsJCS8qIFJldHJhbnNt aXQgYnVmZmVyLiAgKi8KKwkgICAgY2FzZSBTRVJJQUxfVElNRU9VVDoKKwkJ Y29udGludWU7CS8qIFJlbW90ZSBoYXZlIG5vdCBhbnN3ZXJlZC4gVHJ5IGFn YWluLiAqLwogCSAgICBjYXNlICckJzoKIAkgICAgICB7CiAJICAgICAgICBp ZiAocmVtb3RlX2RlYnVnKQpAQCAtMzg5MywzMyArMzg5NCwyNSBAQAogCQlj b250aW51ZTsJLyogTm93LCBnbyBsb29rIGZvciArLiAgKi8KIAkgICAgICB9 CiAJICAgIGRlZmF1bHQ6Ci0JICAgICAgaWYgKHJlbW90ZV9kZWJ1ZykKLQkJ ewotCQkgIGlmICghc3RhcnRlZF9lcnJvcl9vdXRwdXQpCi0JCSAgICB7Ci0J CSAgICAgIHN0YXJ0ZWRfZXJyb3Jfb3V0cHV0ID0gMTsKLQkJICAgICAgZnBy aW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLCAicHV0cGt0OiBKdW5rOiAi KTsKLQkJICAgIH0KLQkJICBmcHV0Y191bmZpbHRlcmVkIChjaCAmIDAxNzcs IGdkYl9zdGRsb2cpOwotCQl9Ci0JICAgICAgY29udGludWU7Ci0JICAgIH0K LQkgIGJyZWFrOwkJLyogSGVyZSB0byByZXRyYW5zbWl0LiAgKi8KLQl9Ci0K LSNpZiAwCi0gICAgICAvKiBUaGlzIGlzIHdyb25nLiAgSWYgZG9pbmcgYSBs b25nIGJhY2t0cmFjZSwgdGhlIHVzZXIgc2hvdWxkIGJlCi0gICAgICAgICBh YmxlIHRvIGdldCBvdXQgbmV4dCB0aW1lIHdlIGNhbGwgUVVJVCwgd2l0aG91 dCBhbnl0aGluZyBhcwotICAgICAgICAgdmlvbGVudCBhcyBpbnRlcnJ1cHRf cXVlcnkuICBJZiB3ZSB3YW50IHRvIHByb3ZpZGUgYSB3YXkgb3V0IG9mCi0g ICAgICAgICBoZXJlIHdpdGhvdXQgZ2V0dGluZyB0byB0aGUgbmV4dCBRVUlU LCBpdCBzaG91bGQgYmUgYmFzZWQgb24KLSAgICAgICAgIGhpdHRpbmcgXkMg dHdpY2UgYXMgaW4gcmVtb3RlX3dhaXQuICAqLwotICAgICAgaWYgKHF1aXRf ZmxhZykKLQl7Ci0JICBxdWl0X2ZsYWcgPSAwOwotCSAgaW50ZXJydXB0X3F1 ZXJ5ICgpOwotCX0KLSNlbmRpZgotICAgIH0KKwkgICAgICB7CisJICAgICAg ICBpZiAocmVtb3RlX2RlYnVnKQorCQkgIHsKKwkJICAgIGlmICghc3RhcnRl ZF9lcnJvcl9vdXRwdXQpCisJCSAgICAgIHsKKwkJICAgICAgICBzdGFydGVk X2Vycm9yX291dHB1dCA9IDE7CisJCSAgICAgICAgZnByaW50Zl91bmZpbHRl cmVkIChnZGJfc3RkbG9nLCAicHV0cGt0OiBKdW5rOiAiKTsKKwkJICAgICAg fQorCQkgICAgZnB1dGNfdW5maWx0ZXJlZCAoY2ggJiAwMTc3LCBnZGJfc3Rk bG9nKTsKKwkJICB9CisJICAgICAgICBjb250aW51ZTsKKwkgICAgICB9IC8q IGVuZGNhc2UgZGVmYXVsdCAqLworCSAgICB9IC8qIGVuZHN3aXRjaCByZWFk IGFja25vd2VkZ2UgKi8KKwkgIGJyZWFrOwkJLyogSGVyZSB0byByZXRyYW5z bWl0IHBhY2tldC4gICovCisJfSAvKiBlbmRmb3IgYWNrbm93bGVkZ2UgcmVh ZGluZyAqLworCisgICAgfSAvKiBlbmRmb3IgcGFja2V0IHNlbmRpbmcgKi8K KyAgLyogR2l2aW5nIHVwLiAqLworICByZXR1cm4gMDsgLyogWFhYIEF0IHRo aXMgbW9tZW50IG5vYm9keSBoYW5kbGUgdGhpcyByZXR1cm4gY29kZSEgKi8K IH0KIAogLyogQ29tZSBoZXJlIGFmdGVyIGZpbmRpbmcgdGhlIHN0YXJ0IG9m IGEgZnJhbWUgd2hlbiB3ZSBleHBlY3RlZCBhbgo= ------_=_NextPart_001_01C85828.4E4C9982--