Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <006501c15093$a36abae0$0200a8c0@lifelesswks> From: "Robert Collins" To: "Ken Thompson" , "Roman Belenov" Cc: "John Peacock" , References: <3BC1CF2E DOT 7177 DOT 33050F17 AT localhost> <3BC1B8C0 DOT C1E58D08 AT rowman DOT com><20011008115635 DOT A18826 AT redhat DOT com><5 DOT 0 DOT 2 DOT 1 DOT 2 DOT 20011008123354 DOT 00b186b0 AT sen-mail DOT gtri DOT gatech DOT edu> Subject: Re: Perl 5.7.2 Date: Tue, 9 Oct 2001 17:25:56 +1000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 X-OriginalArrivalTime: 09 Oct 2001 07:32:06.0144 (UTC) FILETIME=[7F229800:01C15094] ---- Original Message ----- From: "Roman Belenov" To: "Ken Thompson" > Ok, let's stop quarreling and return to the facts. On my system > debugging with cygwin-1.3.3-2 is also not possible - debuggee receives > unknown signals before reaching main(). I reproduced it on the empty > program (after encountering on the real one). It is indeed a Any program? or perl programs? Are you running bleedperl as John is? > regression - downgrading to cygwin-1.3.2-1 makes debugging fine. There > were several other messages stating that debugging doesn't work with > 1.3.3 and changing to 1.3.2 fixes the problem. So it seems that it is > in fact a bug. It doesn't mean that cygwin developers must start > working on it immediately and I (as, I guess, other bug reporters) > don't expect it, but it should be registered as a known bug and bug > reports should be treated like efforts to provide help to someone who > will eventually work on fixing it. I'm amazed this meme (about bugs reports and solutions) persists. This is IMO of course... Firstly, I classify bugs into two groups: obvious and non-obvious. By this I mean that an obvious bug is one that when the offending function (or perhaps group of closely related fn's) is re-read carefully, the bug is identified and can be solved. A non-obvious bug is one where debugging detail (a strace perhaps) is needed, or if that does not provide enough detail, then actual debugging is needed. So this really gives us 4 different bug types, if you like. 1-Obvious) The faulty code is visually identifiable once a clear description of circumstances is provided. (ie when sending SIGINT to an .exe application running inside of gdb 5.0.1 foo happens. attached is a cygcheck and ..) 2-Visible with detail) On request from a developer, or perhaps provided as a courtesy a strace of the fault as it occurs, in controlled circumstances, with a minimal program (ie if the program spends 30 minutes fluffing around. the strace has been trimmed) a developer is able to pin-point the fault in the source. 3-Debugging needed, reproducible with detail) The fault can be reproduced on any system, with minor effort required (building package foo does not count as minor). A cygwin developer using debugging tools can then locally identify and solve the problem. 4-Debugging needed, not reproducible) The fault is unable to be reproduced by a cygwin developer with minor effort, or may not be reproducible at all. The cygwin developers can do nothing other than offer guidance for the affected individual to solve the problem locally. Now, How much information is needed to classify a bug in cygwin? Well, for someone like Chris or Corinna, very little. If there is not enough info to classify the bug, then _someone_ (not necessarily Chris or Corinna) will ask for more info. Then based on their internal feel for the fault, a solution will be recommended. Thus you will see Corinna ask for a strace, or Chris say "I think I've fixed it please try snapshot foo". The order I listed the categories above in is important: a category 4 bug will NEVER be fixed by a cygwin developer. If it is, then it actually was a category 3, or 2.. The amount of work needed on the part of the fault reporter increases from 1 thru 4. If you report a bug and it's a 1, the report may be all thats needed, but if it's a 4 expect to learn gdb, and cygwin's source before it will get fixed. This is not a matter of policy, or choice, or resources, its a simple matter of fact. Every software project acts like this: if a bug is non reproducible, then the onus is on the submitter to solve the bug AND/OR answer all questions from the developers about the bug - if they are putting it in my category 3. What does all of this rant mean for *you* on the cygwin list? If you report a bug, and get given suggestions for debugging it, then in the opinion of the person making the suggestion, it is (in my category system) a 4 or possibly a 3. At this point, you have two choices: a) Ignore the bug. Go do something else. Don't whine, don't post about how it doesn't occur back a version in the hope that the bug will magically become easier for us to solve: We've already checked the code, and the changelog for obvious related info. b) Follow the suggestions. Ask for help on following the suggestions. The bug will either become obvious to the developers during the ensuing dialogue, or you will find the fault, and be able to identify it precisely rather than generally, which usually gives the developers enough detail to create a test case themselves, at which point it becomes a 3, and you *may* get let off the hook. Rob -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/