Control: reassign -1 src:cwidget

Hi,

2015-10-26 10:33 Manuel A. Fernandez Montecelo:
Control: found -1 aptitude/0.6.11


Hi all,

2015-10-22 12:23 Axel Beckert:
Control: tag -1 + confimred - unreproducible

Hi,

Axel Beckert wrote:
> 5. press "/", and enter "you", everything is OK for now
> 6. enter "k", the definite loop occures

JFTR: I can't reproduce this with 0.7.2-1 from Debian Testing (in the
big terminal). Will test Sid later.

Tried it on Debian Sid amd64 with a 157x21 terminal. But nothing
crashed, continues to work fine.

Sorry, I think I misunderstood the description initially. I
interpreted 'enter "you"' as typing the letters "y", "o", "u", and
then pressing the enter key and the pressing "k" to get one line up.

But if you enter "youk" aptitude no more reacts except on Ctrl-C. At
least once in the 157x21 terminal. But I wasn't able to reproduce it
even in the 157x21 terminal after I tried it in the same process while
the terminal was bigger.

So it may depend on what has already been done (and hence maybe cached
internally) before.

I was not able to reproduce it in 0.7.2-1 from testing at all, even
if I followed the instructions inside a freshly started aptitude in a
157x21 terminal.

I can reproduce it all the time, also in 0.6.11 from stable (Jessie).

I think that it's partly due to the incremental search feature
(according to the backtrace), feature about which there are more
complaints in the BTS (but I haven't checked if they are related or
not).

I've been investigating this again and I believe that it's actually a
problem with the cwidget library, that has happened since forever.

This happens also for example with devscripts and rhythmbox-plugins,
which have a long description which makes the main/first subtree (the
one with the package name, the second subtree is "Depends") to also
"fill" my terminal (expand more than a screenful vertically), like
youtube-dl.  It doesn't happen with libwiretap5 even if the description
is quite long, for example.

I think that it has to do with how the cwidget implementation moves the
view to jump to where the term being searched appears, and that gets
confused when the contents are off the screen or something similar.  The
backtrace points to line 854 in ./src/cwidget/widgets/tree.cc with the
line:

     while(curr!=start && !matches(*curr))

and with aptitude's menu_tree.cc, line 82.

Searching for "yo" in "youtube-dl" screen doesn't produce the desired
effect (I presume), of searching e.g. inside the Description field.

When the screen starts at line "zero" [1], with incsearch enabled, "y"
jumps to the line below [2], after "yo" jumps to the last line (below
[3]), after "you" the same (and at this point it didn't hang yet, one
can delete with backspace etc).  With "youk" enters the infinite loop.

If one presses "yok", or "you<BACKSPACE>k", it also triggers the
infinite loop.

It will need quite some debugging, and probably a new cwidget release to
get this fixed.


[1] That is, printing:
   i    --\ youtube-dl                2016.02.22-1   2016.02.22-1

[2]
   --\ Depends (3)
     --\ python-pkg-resources

[3]
   --- Packages which depend on youtube-dl (5)
      --\ Versions of youtube-dl (1)
--
Manuel A. Fernandez Montecelo <[email protected]>

_______________________________________________
Aptitude-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/aptitude-devel

Reply via email to