From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 74576 invoked by alias); 26 May 2019 16:40:21 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 74566 invoked by uid 89); 26 May 2019 16:40:21 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy=cygwincom, UD:cygwin.com, cygwin.com, H*r:9.0.019 X-HELO: rgout01.bt.lon5.cpcloud.co.uk Received: from rgout01.bt.lon5.cpcloud.co.uk (HELO rgout01.bt.lon5.cpcloud.co.uk) (65.20.0.178) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 26 May 2019 16:40:19 +0000 X-OWM-Source-IP: 86.184.210.21 (GB) X-OWM-Env-Sender: jonturney@btinternet.com X-VadeSecure-score: verdict=clean score=0/300, class=clean X-SNCR-VADESECURE: CLEAN Received: from [192.168.1.102] (86.184.210.21) by rgout01.bt.lon5.cpcloud.co.uk (9.0.019.26-1) (authenticated as jonturney@btinternet.com) id 5B321EA01F0105C4; Sun, 26 May 2019 17:40:15 +0100 Subject: Re: Cygwin debugger crashes every time on following a unique_ptr To: The Cygwin Mailing List , Raj Kumar References: <4ffe9ce5-8504-f009-2b19-098bdc9b1aef@maxrnd.com> From: Jon Turney Message-ID: <7a439630-5450-b41e-1f03-c93cfd356b67@dronecode.org.uk> Date: Sun, 26 May 2019 16:40:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: <4ffe9ce5-8504-f009-2b19-098bdc9b1aef@maxrnd.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-SW-Source: 2019-05/txt/msg00228.txt.bz2 On 25/05/2019 22:31, Mark Geisert wrote: > Raj Kumar wrote: > [...] >> Adding a watch is equivalent to when in the gdb window I try and do >> this: myCar.get()->currentPassengers. This crashes the GDB every time. >> So the issue occurs when I try to follow the object pointed to by a >> unique_ptr and try to get its attributes/variables. > > I can confirm this issue.  The fault is reported by Cygwin's memcpy(). > I'm having a heck of a time trying to get a gdb backtrace to show what > in gdb itself is likely calling memcpy() with a bad arg. When debugging gdb with itself here, you'll need to use 'set cygwin-exceptions on' to allow it to stop on exceptions inside the cygwin DLL. See https://cygwin.com/faq.html#faq.programming.debugging-cygwin (This would be a lot more usable if gdb ignored exceptions inside the specific functions where it makes sense to do that (e.g. verifyable_object_isvalid, etc.), rather than anywhere in the cygwin DLL, if someone wants to fix that...) > To reproduce with OP's supplied source files in an otherwise clean > directory: > g++ -g -o raj *.cpp > gdb raj > [...] > (gdb) b main > (gdb) run > (gdb) n > (gdb) n > > At this point you'll be on line 14.  Issue the OP's triggering command: > (gdb) p myCar.get()->currentPassengers > Segmentation fault (core dumped) Thanks for the reproduction instructions. This seems to be the issue discussed in [1], fixed by [2]. This fix is contained in the 8.2.1-1 Cygwin test release of gdb. [1] https://sourceware.org/ml/gdb-patches/2018-06/msg00584.html [2] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=de52b9607d2623f18b7a7dbee3e1123d8d63f5da -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple