X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; q=dns; s=default; b=dv eFcMBpSfA2XSUoKmMSwot/gsex0QlBfSKL6e23KG6xiXr0Wt/NtGW8zxIS66ngzF ed7cBdsCRKzcToPEnaJlxTk5FW9f+V6rpTbzwwVDDvprpLL3Mzxa3iXJerHVe7ul 2CTVAoaPOTNyC3RCF61FoYRg3Iv6Fs8wfj6ut3nh8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; s=default; bh=Qdi4HvUS DiI5kYKZEF4k3/narFA=; b=ns2NjGJQ515Ta0rmlsT8Z9RjKYAT8xRelXxdPhdh +EX9OdAUYGzz99sEtjCEMqyjSN4bgCBBptcS2QZklGDYly305A38h501t4mYBR4A 9tuoauPXD3FQTGEBk/cpEi52tJFccjzk3wchCH5nGSAmuMaei6OQhUbyrFdyFOrJ L0o= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qe0-f51.google.com MIME-Version: 1.0 X-Received: by 10.49.52.102 with SMTP id s6mr206582863qeo.60.1389172019163; Wed, 08 Jan 2014 01:06:59 -0800 (PST) In-Reply-To: <20140108063628.GA1732@ednor.casa.cgf.cx> References: <20140108063628 DOT GA1732 AT ednor DOT casa DOT cgf DOT cx> Date: Wed, 8 Jan 2014 18:06:59 +0900 Message-ID: Subject: Re: about cygwin_stackdump() From: KIMURA Masaru To: cygwin AT cygwin DOT com Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes 2014/1/8 Christopher Faylor wrote: > On Tue, Jan 07, 2014 at 11:35:57AM +0900, KIMURA Masaru wrote: >>fopen() stackdump file immediately after cygwin_stackdump() calling in >>signle process fails. >>is this intentional? >>https://github.com/hiyuh/cygwin-stackdump-example > > I rewrote your example slightly to make it work with any executable name > by calculating the stackdump name like this: > > char *fname = (char *)malloc(strlen(*__argv) + sizeof (".exe.stackdump")); > sprintf(fname, "%s.exe.stackdump", *__argv); > printf("fname = %s\n", fname); thanks, ill look into this later. > And compiled it as: > > gcc -g -DUSE_CYGWIN_STACKDUMP -DUSE_FORK_WAITPID cygwin_stackdump.c -o cygwin_stackdump.exe > > That worked fine for me on the most recent Cygwin snapshot: 32/64 bit. > > Possibly you have BLODA: > > http://cygwin.com/acronyms#BLODA i may have one of BLODA, but could you mind to recheck followings for me? * i wrote "signle process" that means w/o fork() + waitpid(). you looks compiling w/ -DUSE_FORK_WAITPID that will use fork() + waitpid(). we are discussing fork() + waitpid() is really required or not. https://github.com/nickg/nvc/pull/25 * correct following my understanding: cygwin_stackdump() is in src/winsup/cygwin/exceptions.cc of cygwin. according to this code, + cygwin_exception::dumpstack() opens stack dump file by using open_stackdumpfile(). there is no configuration for stack dump file name. + maximum stack trace depth is 16. there is no configuration for this depth. + after calling cygwin_exception::dumpstack(), cygwin_stackdump() ends. after printing stack trace contents, cygwin_exception::dumpstack() ends. thus, cygwin_stackdump() looks having no stack dump file closing. + cygwin_stackdump() is exported, but the implementation status looks WIP. -- 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