From owner-freebsd-hackers@FreeBSD.ORG Tue Nov 1 23:18:01 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 199DA106564A for ; Tue, 1 Nov 2011 23:18:01 +0000 (UTC) (envelope-from lthomas_lists@lthomas.net) Received: from oproxy4-pub.bluehost.com (oproxy4.bluehost.com [IPv6:2605:dc00:100:2::a4]) by mx1.freebsd.org (Postfix) with SMTP id D35428FC0C for ; Tue, 1 Nov 2011 23:18:00 +0000 (UTC) Received: (qmail 3849 invoked by uid 0); 1 Nov 2011 23:18:00 -0000 Received: from unknown (HELO fast21.fastdomain.com) (74.220.199.21) by cpoproxy1.bluehost.com with SMTP; 1 Nov 2011 23:18:00 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lthomas.net; s=default; h=Message-ID:Subject:To:From:Date:Content-Type:MIME-Version; bh=W3fViHDX68xtT3Cr1jEcT3P00nUYo9TkycwytDGG1y0=; b=XtOQ6kqMN5QJ5Y/dd23Kdno2qNUx9YH9B59GD5LiCZerOHiGjDc3C+vnioraWL4yqWHE8witD1FNkb18CsmGoPUQcLnnWQLbHznygUEWiRQXmvMfEe3Y9ndr/x5kYDrN; Received: from localhost ([127.0.0.1] helo=fast21.fastdomain.com) by fast21.fastdomain.com with esmtpa (Exim 4.76) (envelope-from ) id 1RLNai-0002Bs-EE for freebsd-hackers@freebsd.org; Tue, 01 Nov 2011 17:18:00 -0600 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_3887e89940a1d83ef9282fe1a618aaa0" Date: Tue, 01 Nov 2011 17:18:00 -0600 From: Lee Thomas To: FreeBSD Hackers Message-ID: X-Sender: lthomas_lists@lthomas.net User-Agent: Roundcube Webmail/0.5.4 X-Identified-User: {3486:fast21.fastdomain.com:lthomasn:lthomas.net} {sentby:smtp auth 127.0.0.1 authed with lthomas_lists@lthomas.net} Subject: Patch for PR ports/157342: devel/gdb (Invalid selected thread) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Nov 2011 23:18:01 -0000 --=_3887e89940a1d83ef9282fe1a618aaa0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=UTF-8; format=flowed Hello, everyone. I believe the following (and attached) patch to devel/gdb fixes PR ports/157342: "devel/gdb: Problem with running simple pthreads program under gdb-7.2 (Invalid selected thread)" It works for me for the gdb from ports (7.3.1) on FreeBSD 9.0-RC1 amd64, but I don't have any other machines to test it on. Could someone please A) review this patch, B) test it, and/or C) tell me who to send it to / what the correct procedure is for getting it reviewed and/or applied? Thank you for your help. Regards, Lee Thomas --- /freebsd_ports/devel/gdb/files/fbsd-threads.c 2011-10-29 13:04:09.000000000 -0400 +++ /gdb_threads_fix/devel/gdb/files/fbsd-threads.c 2011-10-29 16:53:16.000000000 -0400 @@ -733,11 +733,15 @@ if (ourstatus->value.sig == TARGET_SIGNAL_TRAP) check_event(ret); /* this is a hack, if an event won't cause gdb to stop, for example, - SIGARLM, gdb resumes the process immediatly without setting + SIGALRM, gdb resumes the process immediatly without setting inferior_ptid to the new thread returned here, this is a bug because inferior_ptid may already not exist there, and passing - a none existing thread to fbsd_thread_resume causes error. */ - if (!fbsd_thread_alive (ops, inferior_ptid)) + a non-existing thread to fbsd_thread_resume causes error. However, + if the exiting thread is the currently selected thread, + then that is handled later in handle_inferior_event(), and we must + not delete the currently selected thread. + */ + if (!fbsd_thread_alive (ops, inferior_ptid) && !ptid_equal(inferior_ptid, ret)) { delete_thread (inferior_ptid); inferior_ptid = ret; --=_3887e89940a1d83ef9282fe1a618aaa0 Content-Transfer-Encoding: base64 Content-Type: application/octet-stream; name=gdb_fix.diff Content-Disposition: attachment; filename=gdb_fix.diff LS0tIC9mcmVlYnNkX3BvcnRzL2RldmVsL2dkYi9maWxlcy9mYnNkLXRocmVhZHMuYwkyMDExLTEw LTI5IDEzOjA0OjA5LjAwMDAwMDAwMCAtMDQwMAorKysgL2dkYl90aHJlYWRzX2ZpeC9kZXZlbC9n ZGIvZmlsZXMvZmJzZC10aHJlYWRzLmMJMjAxMS0xMC0yOSAxNjo1MzoxNi4wMDAwMDAwMDAgLTA0 MDAKQEAgLTczMywxMSArNzMzLDE1IEBACiAgICAgICBpZiAob3Vyc3RhdHVzLT52YWx1ZS5zaWcg PT0gVEFSR0VUX1NJR05BTF9UUkFQKQogICAgICAgICBjaGVja19ldmVudChyZXQpOwogICAgICAg LyogdGhpcyBpcyBhIGhhY2ssIGlmIGFuIGV2ZW50IHdvbid0IGNhdXNlIGdkYiB0byBzdG9wLCBm b3IgZXhhbXBsZSwKLSAgICAgICAgIFNJR0FSTE0sIGdkYiByZXN1bWVzIHRoZSBwcm9jZXNzIGlt bWVkaWF0bHkgd2l0aG91dCBzZXR0aW5nCisgICAgICAgICBTSUdBTFJNLCBnZGIgcmVzdW1lcyB0 aGUgcHJvY2VzcyBpbW1lZGlhdGx5IHdpdGhvdXQgc2V0dGluZwogICAgICAgICAgaW5mZXJpb3Jf cHRpZCB0byB0aGUgbmV3IHRocmVhZCByZXR1cm5lZCBoZXJlLCB0aGlzIGlzIGEgYnVnCiAgICAg ICAgICBiZWNhdXNlIGluZmVyaW9yX3B0aWQgbWF5IGFscmVhZHkgbm90IGV4aXN0IHRoZXJlLCBh bmQgcGFzc2luZwotICAgICAgICAgYSBub25lIGV4aXN0aW5nIHRocmVhZCB0byBmYnNkX3RocmVh ZF9yZXN1bWUgY2F1c2VzIGVycm9yLiAqLwotICAgICAgaWYgKCFmYnNkX3RocmVhZF9hbGl2ZSAo b3BzLCBpbmZlcmlvcl9wdGlkKSkKKyAgICAgICAgIGEgbm9uLWV4aXN0aW5nIHRocmVhZCB0byBm YnNkX3RocmVhZF9yZXN1bWUgY2F1c2VzIGVycm9yLiBIb3dldmVyLAorICAgICAgICAgaWYgdGhl IGV4aXRpbmcgdGhyZWFkIGlzIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGhyZWFkLAorICAgICAg ICAgdGhlbiB0aGF0IGlzIGhhbmRsZWQgbGF0ZXIgaW4gaGFuZGxlX2luZmVyaW9yX2V2ZW50KCks IGFuZCB3ZSBtdXN0CisgICAgICAgICBub3QgZGVsZXRlIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg dGhyZWFkLiAKKyAgICAgICovCisgICAgICBpZiAoIWZic2RfdGhyZWFkX2FsaXZlIChvcHMsIGlu ZmVyaW9yX3B0aWQpICYmICFwdGlkX2VxdWFsKGluZmVyaW9yX3B0aWQsIHJldCkpCiAgICAgICAg IHsKICAgICAgICAgICBkZWxldGVfdGhyZWFkIChpbmZlcmlvcl9wdGlkKTsKICAgICAgICAgICBp bmZlcmlvcl9wdGlkID0gcmV0Owo= --=_3887e89940a1d83ef9282fe1a618aaa0--