bugGNU Octave - Bugs: bug #47605, dbwhere hangs after debug_on_error...

 
 

bug #47605: dbwhere hangs after debug_on_error stops Octave

Submitted by:  Rik <rik5>
Submitted on:  Sat 02 Apr 2016 04:03:19 AM UTC  
 
Category: Octave FunctionSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Regression
Status: FixedAssigned to: None
Originator Name: Open/Closed: Closed
Release: devOperating System: GNU/Linux

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Wed 13 Apr 2016 09:02:31 PM UTC, comment #10:

I pushed my cset here (http://hg.savannah.gnu.org/hgweb/octave/rev/d8d0020bf1e9). Closing report.

Rik <rik5>
Project Administrator
Mon 04 Apr 2016 07:52:50 PM UTC, comment #9:

That's right, the last sentence isn't quite how that works. The curr_frame is initialized to NULL when the class object is constructed.

I looked at the cs[] layout last night but didn't quite understand the indexing. FWIW, in toplevel.h the "curr_frame > 1" could be "curr_frame > 0" in the following:

Not that it matters, just that the frame of reference of greater than zero might be more how curr_frame is defined.

Dan Sebald <sebald>
Mon 04 Apr 2016 07:24:07 PM UTC, comment #8:

Comment #7 ended with an erroneous sentence. Ignore that.

Rik <rik5>
Project Administrator
Mon 04 Apr 2016 07:23:00 PM UTC, comment #7:

I spent a little time with the debugger. The backtrace is

The important code in toplev.cc is:

As you can see, it is a while loop but nothing changes the value of the index variable i. The attached patch fixes up three instances of this in toplev.cc. It should be reviewed by jwe since I'm only guessing about the code's intent. On the other hand, the patch does work for me.
It is only my intuition, but I suspect the stack context is maybe uninitialized (NULL) when the debugger is triggered through an error or warning condition.

(file #36835)

Rik <rik5>
Project Administrator
Mon 04 Apr 2016 05:55:41 PM UTC, comment #6:

Here's a clue:

So everything works if a dbup is done first.

Mike Miller <mtmiller>
Project Administrator
Mon 04 Apr 2016 04:14:08 PM UTC, comment #5:

Adding jwe to the CC list since Mike believes cset http://hg.savannah.gnu.org/hgweb/octave/rev/909129eb77c5 may be the problem.

Rik <rik5>
Project Administrator
Mon 04 Apr 2016 06:55:56 AM UTC, comment #4:

OK, quick find there...

There is a hunk of code that takes out the comment I posted:

But none of that looks problematic and there really isn't too much prior to that in the dbwhere routine. Somewhere in this routine maybe?

Dan Sebald <sebald>
Sun 03 Apr 2016 03:57:01 PM UTC, comment #3:

The hang first appears with this changeset on the default branch:

http://hg.savannah.gnu.org/hgweb/octave/rev/909129eb77c5

Mike Miller <mtmiller>
Project Administrator
Sun 03 Apr 2016 06:07:12 AM UTC, comment #2:

This item in the log looks pretty significant:

http://hg.savannah.gnu.org/hgweb/octave/rev/f3f8e1d3e399

Revert prior to that one, as a start.

Dan Sebald <sebald>
Sun 03 Apr 2016 06:03:56 AM UTC, comment #1:

Here is the message that is supposed to appear:

It's possible that the bug was introduced when some change address function behavior and/or scope if not something related specifically to breakpoints.

Dan Sebald <sebald>
Sat 02 Apr 2016 04:03:19 AM UTC, original submission:

I've noticed the following causes Octave to hang. I'd guess the bug has appeared somewhere in the last 3 weeks.

Rik <rik5>
Project Administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #36835:  dbwhere.diff added by rik5 (812B - text/x-diff)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by rik5
  • -unavailable- added by mtmiller (Posted a comment)
  • -unavailable- added by sebald (Posted a comment)
  • -unavailable- added by rik5 (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 6 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Wed 13 Apr 2016 09:02:31 PM UTCrik5StatusPatch Submitted=>Fixed
      Open/ClosedOpen=>Closed
    Mon 04 Apr 2016 07:23:00 PM UTCrik5Attached File-=>Added dbwhere.diff, #36835
      StatusConfirmed=>Patch Submitted
    Mon 04 Apr 2016 04:14:08 PM UTCrik5Carbon-Copy-=>Added jwe
    Sun 03 Apr 2016 03:57:01 PM UTCmtmillerStatusNone=>Confirmed

    Back to the top


    Powered by Savane 3.1-cleanup1