[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] Selection->Infinite loop in current git

From: Richard Shann
Subject: Re: [Denemo-devel] Selection->Infinite loop in current git
Date: Fri, 18 Feb 2011 08:10:15 +0000

On Thu, 2011-02-17 at 19:22 +0100, Nils Gey wrote:
> I checked for several hours and I can't detect any flaw. 
> I also can't reproduce the error. Even with the same file, same 
> circumstances, same actions it does not happen when I want it :)
> Its not always a real loop, sometimes it works for 20 to 30 seconds (on my 
> system) and repeats the command over and over but then stops. This was true 
> if I used a scripted command (ShiftUp). A real loop happened when I used the 
> built-in AddDot on the selection.
> I suspect it is something different, having effect on Denemos cursor movement 
> because I see Cursor Left all the time scrolling in the console if this 
> happens. None of my scripts that failed uses cursor left directly.
> I'm still searching, but I have no clue for what. 
> What is the general approach if I run into a Scheme infinte loop in Denemo? 
> Do we have something to stop it
Control-C under gdb

> and look back through the scheme commands that happened to see where it 
> failed?
I don't know how to do that. But you can then set a break point on calls
that the scheme loop may be making to denemo's C code.
If what is being called is itself a scripted action then a break on the
line in view.c line 658 (in current git)
(the line is GtkAction *action = lookup_action_from_name (name);) would
let you examine the name of the script being called for. The gdb
commands to do this are

b view.c:658
and when the gdb prompt comes back (ie the breakpoint was hit)

p name

will give the name. If the loop does not involve any scripted commands
then it might be trickier to get gdb to break, as you would need to know
the path to the individual function calls...
I would have expected debug statements to show where the loop was and
what was/was not changing during the loop though.

> Nils
> On Tue, 15 Feb 2011 14:32:24 +0100
> Nils Gey <address@hidden> wrote:
> > My recent changes broke apply to selection and Denemo can stop because of 
> > an infinite scheme loop.
> > Working on it...
> > 
> > Nils
> > 
> > _______________________________________________
> > Denemo-devel mailing list
> > address@hidden
> >
> > 
> _______________________________________________
> Denemo-devel mailing list
> address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]