The FB post is me.
I was also able to reproduce this, and I’ve noticed a few things. I did as you suggested and the other guy proved, it is scanning the folder 256 times. It happens at boot AND every single font change.
You can make the error go away by just deleting vmend.wav and vmstart.wav, but it still makes boot and loading fonts slow as hell. I also tested with various voice packs but no joy.
When you change fonts the console reports:
Scanning sound font: Ronin done
Scanning sound font: common (10-60s delay and then…) done
I spent a ton of time trying different fonts before I realized that common was at issue, as originally I could only get the failure to happen at boot and I didn’t know how to get it to boot while usb was passing power lol.
But once I realized the reset button would do it (or I could just flash and it would reconnect (or I could leave it set to Butterfly-L433CC since no matter what I do, it will not maintain Proffieboard & USB at the same time) I finally got the errors.
I have refreshed multiple times, nuked my proffie os and downloaded a new one. Nuked the voice pack(s), downloaded again. Tried new SD cards. Tried with just 1 font. Even made a totally new config with the 7.0 configurator.
I also did my best to figure out how to go into the scans and make it not check common with every single font change, but my C++ is too weak (managed code dev) and I’m pretty sure I am not matching the right value cause everything is char not string.
I also tried outright doing:
if num_files_ is 256 set to 1, and it does clear the errors, but it doesn’t solve the problem of the huge scan every time, it just makes it not error.
I feel like there has got to be some way to make it only scan common on boot, not font change (really the same should be true for fonts tbh), unless the card is removed, cause there is no way the font will just suddenly change itself. But I can’t find the right spot to do it. Either way there must be SOMETHING causing it to scan 256 times, but I have no idea what.
I do think its somehow related to the subdir logic, but I can’t make sense of it completely cause bitshifting makes my brain hurt.
The weirdest part to me is that it specifically counts the files 256 times without fail, never more, never less. Cause 256 seems odd unless something is converting to uint8 or similar.
Weirdest part is I had used the same exact os to flash other sabers that were previously setup, and those work fine. That said the SD cards for them are older, but I tried swapping cards, using other configs etc, nothing seems to work.
The other folders all process super fast, it’s ONLY common that’s having issues. And seems to only be those 2 files, though at least originally changing vmbegin to vmbegin1 fixed that one, but the same change to vmend did nothing.
I think it’s somehow related to some substring logic (the actual parsing failure), but I can’t for the life of me determine what the 256 scans are caused by. It feels like there is a loop within a loop where there shouldn’t be but I can’t find it.
Edit:
And to be clear, as best I can tell after loading, the saber works perfectly fine. It is only the initial scan. The fonts and sounds all seem to work as best I can determine.