View Issue Details

IDProjectCategoryView StatusLast Update
0001650OpenMPTGeneralpublic2023-01-28 18:32
ReporterExhale Assigned ToSaga Musix  
PrioritylowSeverityblockReproducibilityalways
Status resolvedResolutionfixed 
Platformx64OSWindowsOS Version8
Product VersionOpenMPT 1.31.00.* (current testing) 
Summary0001650: Freeze when updating soundfont search filter
Description

I said I would be back and since the last topic was closed I decided I would put this in it's own thing.
With a bit of research I figured out how to make a dmp file and so I made ompt 1.31 crash again (it is reliable like clockwork) and got you guys the dump file.
maybe the items my ompt has to search is larger than most, so maybe this wont be easy for you guys to do.

Steps To Reproduce

1 - have a lot of sound fonts and samples in your instrument library.
2 - click in the sound font bar anywhere on any sound font.
3 - press ctrl-f.
4 - type in kick (my computer takes some time to do the search)
5 - grab the kick drag it into an empty instrument or sample slot (probably not a needed step but this is how it happens for me)
6 - select the search bar again, highlight the previous search (in this case the whole world "kick")
7 - type out another search (maybe highhat or snare etc...)
8 - repeat steps 5-7 for each new instrument or sample until step 7 is interrupted by ompt crashing.

Additional Information

(I have managed to get ompt to crash at the first new search, and I have managed to have it survive long enough for me to search a few samples and soundfonts before crashing, but it always crashes if I do this)

wow this dmp file is 150 meg :o, at least the 7z version is 30meg.
https://drive.google.com/file/d/1H-GnE71MfMS7ky3Qrsa_bYI8qkshZE9V/view?usp=share_link
there is the dmp file on my google drive.

TagsNo tags attached.
Has the bug occurred in previous versions?n/a
Tested code revision (in case you know it)

Relationships

related to 0001658 new Find an alternative way to filter soundfont instruments 

Activities

Saga Musix

Saga Musix

2023-01-11 14:12

administrator   ~0005461

We need to know the exact version of OpenMPT you're using (upper-right corner of the About dialog) to be able to do anything with that memory dump.

Exhale

Exhale

2023-01-11 15:09

reporter   ~0005462

OpenMPT (amd64 (64 bit))
Version 1.31.00.20-r18475 TEST

There it is

Saga Musix

Saga Musix

2023-01-11 17:22

administrator   ~0005463

Apparently the Windows-internal tree view code gets stuck in an infinite loop when trying to expand some tree view nodes. Similar to this problem apparently https://social.msdn.microsoft.com/Forums/en-US/3fd6c4a2-b5c7-4334-b11a-e909b11e8bdc/quottreeviewsortquot-stuck-under-windows-vista-?forum=netfxbcl (at least the hang is in the same function)

Exhale

Exhale

2023-01-11 17:56

reporter   ~0005464

alright, if you need anything from me, just ask.
I will leave you to it otherwise.

Saga Musix

Saga Musix

2023-01-11 18:21

administrator   ~0005465

I can reproduce it locally now after adding a few more soundfonts to the tree and typing slowly. The only obvious fix that I see at the moment is no longer trying to expand the child folders in soundfonts, which is probably rather annoying when refining a search because every newly typed character will collapse all the soundfont sub-folders again.

Exhale

Exhale

2023-01-11 19:52

reporter   ~0005466

Ok. Then it is a good thing we caught this before putting the feature into a stable release, I am glad I could help in a little way. Good luck Saga and the rest of whomever might be capable and interested in looking into this, and thank you.

Saga Musix

Saga Musix

2023-01-11 20:49

administrator   ~0005467

Last edited: 2023-01-11 20:52

Apparently the bug goes deeper than just child node expansion. Deleting items can also cause the hang, so just disabling the auto-expansion of bank folders doesn't fix anything. Right now I don't really have any idea how to approach this problem. Apparently several people have found similar problems before when using tree views but the component has stayed broken since at least Windows Vista!

Without knowing exactly what is broken, my best guess is that in both cases, the hang happens when calculating the visual size of the tree and whether scrollbars are needed - similar to issue 0001490.

Exhale

Exhale

2023-01-16 07:52

reporter   ~0005490

Last edited: 2023-01-16 08:07

Ok after a lot of thought, I my final thought on it is we are going to have to work around it somehow since microsoft has left that nonsense in since windows vista. Just wow that they give so few fucks about their buggy code that they just ignore it. I am sorry I have presented you with a problem that might actually be unsolvable, but I hope you find a creative work around.
The only thing I can think of is maybe doing it in stages - rendering the full tree first with the unusable options turned off (like you did with the search initially) and then spreading the load of cutting the list in chunks that will not result in an infinite loop. But obviously I am not a programmer and I am just making a suggestion that makes some sense in my head but probably makes no sense in practice (I imagine something like this could take far more processing than it rightfully should if the tree refresh on microsoft's side was working properly).
Good luck, and I hope you guys find a solution some day.

[edit]
If this isnt an option and we cant find a solution that works then I guess our only option will be to go back to the full list with the non-search result options turned off like it was initially. In that case I am sorry for suggesting the change, and as much as I would prefer the list becomes shorter, I am more than willing to live without it for the sake of stability.

Saga Musix

Saga Musix

2023-01-28 18:20

administrator   ~0005520

I've tried everything I could think of, but there is simply no reliable workaround. As of r18670, soundfont search has been removed.

The only way this feature could find its way back would be to do the filtering in a completely different place outside of the treeview. But I don't see that happening anytime before the 1.31 release.

Issue History

Date Modified Username Field Change
2023-01-11 13:52 Exhale New Issue
2023-01-11 14:12 Saga Musix Note Added: 0005461
2023-01-11 15:09 Exhale Note Added: 0005462
2023-01-11 17:22 Saga Musix Note Added: 0005463
2023-01-11 17:56 Exhale Note Added: 0005464
2023-01-11 18:21 Saga Musix Note Added: 0005465
2023-01-11 19:36 Saga Musix Assigned To => Saga Musix
2023-01-11 19:36 Saga Musix Status new => assigned
2023-01-11 19:52 Exhale Note Added: 0005466
2023-01-11 20:49 Saga Musix Note Added: 0005467
2023-01-11 20:52 Saga Musix Note Edited: 0005467
2023-01-13 14:59 Saga Musix Summary the new soundfont and instrument library search crashes ompt => Freeze when updating soundfont search filter
2023-01-16 07:52 Exhale Note Added: 0005490
2023-01-16 07:54 Exhale Note Edited: 0005490
2023-01-16 08:07 Exhale Note Edited: 0005490
2023-01-26 21:34 Saga Musix Severity major => block
2023-01-28 18:20 Saga Musix Note Added: 0005520
2023-01-28 18:20 Saga Musix Status assigned => resolved
2023-01-28 18:20 Saga Musix Resolution open => fixed
2023-01-28 18:32 Saga Musix Relationship added related to 0001658