Discussion:
BUG #1109
Jorge Arellano Cid
2012-12-09 18:26:14 UTC
Permalink
Hi,

I contacted Sergio (submitter of BUG #1109), and here we have
something weird. He reports crashes or weird behaviour.

If you open [1] with dillo, the "Component:" selection list
gets overdrawn over and over.

Some more details here [2] (backtraces, etc).

As from the backtraces, it crashed with event 11 (MOVE) inside
a FLTK menu. I wonder what makes this particular menu different from
the others in the same page.



[1] https://bugzilla.redhat.com/query.cgi?format=advanced
[2] https://bugzilla.redhat.com/show_bug.cgi?id=884778
--
Cheers
Jorge.-
corvid
2012-12-09 18:59:01 UTC
Permalink
Post by Jorge Arellano Cid
If you open [1] with dillo, the "Component:" selection list
gets overdrawn over and over.
That list has over 18000 options.

This was the final thing that prompted me to try changing the Fl_Tree to
Fl_Browser, since gprof showed problems where the code would iterate through
the tree by going into the parent, searching for which child we were, and then
going into the next one. This resulted in something like 300000000 calls to
various Fl_Tree_Item functions with child in the name. I was able to rewrite
some code to do things differently, but some was just internal.

1. With a somewhat older dillo with a somewhat older fltk, I wasn't seeing
this slowness, though. When I spent a little time trying to find out what
was the root of this, results seemed inconsistent. I...suppose it's worth
digging into again for the sake of 3.0.3.

2. You're supposed to get a better Fl_Tree algorithm if you set
#define FLTK_ABI_VERSION 10301 , but that's not a good option for us.
Post by Jorge Arellano Cid
Some more details here [2] (backtraces, etc).
As from the backtraces, it crashed with event 11 (MOVE) inside
a FLTK menu. I wonder what makes this particular menu different from
the others in the same page.
Do you know which of the option menus it broke in?
Post by Jorge Arellano Cid
[1] https://bugzilla.redhat.com/query.cgi?format=advanced
[2] https://bugzilla.redhat.com/show_bug.cgi?id=884778
Jorge Arellano Cid
2012-12-09 19:29:24 UTC
Permalink
Post by corvid
Post by Jorge Arellano Cid
If you open [1] with dillo, the "Component:" selection list
gets overdrawn over and over.
That list has over 18000 options.
This was the final thing that prompted me to try changing the Fl_Tree to
Fl_Browser, since gprof showed problems where the code would iterate through
the tree by going into the parent, searching for which child we were, and then
going into the next one. This resulted in something like 300000000 calls to
various Fl_Tree_Item functions with child in the name. I was able to rewrite
some code to do things differently, but some was just internal.
1. With a somewhat older dillo with a somewhat older fltk, I wasn't seeing
this slowness, though. When I spent a little time trying to find out what
was the root of this, results seemed inconsistent. I...suppose it's worth
digging into again for the sake of 3.0.3.
2. You're supposed to get a better Fl_Tree algorithm if you set
#define FLTK_ABI_VERSION 10301 , but that's not a good option for us.
Post by Jorge Arellano Cid
Some more details here [2] (backtraces, etc).
As from the backtraces, it crashed with event 11 (MOVE) inside
a FLTK menu. I wonder what makes this particular menu different from
the others in the same page.
Do you know which of the option menus it broke in?
Unfortunately not.

Sergio reports it having crashed a few times, but he can't force
it to crash, nor succeeded when I asked him to try to find a way to
reproduce the crash.
--
Cheers
Jorge.-
corvid
2012-12-09 19:47:29 UTC
Permalink
Post by Jorge Arellano Cid
Post by corvid
Post by Jorge Arellano Cid
As from the backtraces, it crashed with event 11 (MOVE) inside
a FLTK menu. I wonder what makes this particular menu different from
the others in the same page.
Do you know which of the option menus it broke in?
Unfortunately not.
Sergio reports it having crashed a few times, but he can't force
it to crash, nor succeeded when I asked him to try to find a way to
reproduce the crash.
In the backtrace, I saw a "numitems = 146", and the Product
menu has 145 items, but that uses the selection list instead
of selection option menu because it very plainly says
'multiple="multiple"'. Strange.
corvid
2012-12-09 22:49:15 UTC
Permalink
Post by Jorge Arellano Cid
If you open [1] with dillo, the "Component:" selection list
gets overdrawn over and over.
I see what you mean about the overdrawing now. I had been seeing wait times
of like 20 seconds with this page, but I just tried linking with 1.3.0,
and now it's fast but scribbles all over itself. Hmm...
corvid
2012-12-09 23:58:20 UTC
Permalink
Post by corvid
Post by Jorge Arellano Cid
If you open [1] with dillo, the "Component:" selection list
gets overdrawn over and over.
I see what you mean about the overdrawing now. I had been seeing wait times
of like 20 seconds with this page, but I just tried linking with 1.3.0,
and now it's fast but scribbles all over itself. Hmm...
Redraws: Problem with 1.3.0, but not with 1.3.1 or newer.

Slowness: A very, very, very, very, very extreme case of what can happen if
you have -g -pg -O0. The Fl_Tree code is a touch sluggish with 18000 options
and ordinary optimisation, but nothing that I'd feel bad about having in 3.0.3.
Loading...