ProcessController not correctly handling item recycling with high amounts of concurrent team creation/destruction.
To trigger this issue, a simple test case is: go into the haiku source tree and issue a jam -qj16. Now open up one of ProcessController's menus and simply observe activity. The menu will rapidly grow to the point where it requires scrollers. However, as teams exit, the menu doesn't appear to handle the case of resizing itself back properly, the observed behavior is that the menu rapidly becomes all white and completely unusable. Note that this problem is only observable when large numbers of add/removes like this that extend the menu to scrolling range occur. A smaller activity set like -j2 or -j4 doesn't appear to exhibit the issue.
The problem was observed on hrev44090 but after searching back for a while, does not appear to be new.
Change History
(13)
Component: |
Kits/Interface Kit → Applications/ProcessController
|
Owner: |
changed from axeld to nobody
|
Summary: |
BMenu not handling certain cases of resizing on add/remove correctly → ProcessController not correctly handling item recycling with high amounts of concurrent team creation/destruction.
|
Component: |
Applications/ProcessController → Kits/Interface Kit
|
Resolution: |
→ fixed
|
Status: |
new → closed
|
Upon closer inspection this might actually be a ProcessController problem after all, it appears to try to recycle/reuse menu items when teams exit (by reassigning them to new teams), and some of the code there looks potentially a bit suspect.