FreeEMS Issues - OLV
View Issue Details
0000711OLVUser Interfacepublic2012-09-20 15:182012-09-21 23:27
0000711: Reloading the previous log while a log is currently loading causes an error.
See title. It prints out this error:

java.lang.ArrayIndexOutOfBoundsException: -1
        at org.diyefi.openlogviewer.genericlog.GenericDataElement.add(GenericDat
        at org.diyefi.openlogviewer.genericlog.GenericLog.addValue(GenericLog.ja
        at org.diyefi.openlogviewer.decoder.FreeEMSBin.decodeBasicLogPacket(Free
Re-load your previous, large log that takes a long time to load.
While it is loading, attempt to re-load your previous log using the reload button or the Open Last menu item.
No tags attached.

2012-09-20 16:20   
This can also cause the loading of the initial log to fail, with the red text apologizing for it.
2012-09-21 19:09   
I'm moving this to ASAP on the basis of the following reasons:

1) This issue needs to be fixed properly, a hack won't do.
2) It's already a hacky mess (my fault) and more code churn/wasted time is not productive and just adds unnecessary entries to git log.
3) Fixing it properly involves fixing 0000454 properly first, which there isn't time for right now.
4) No actual user will be clicking to load the same log that they are already loading on purpose. I've never hit this, no one else has, you just happened to, and it irritates you, not a good reason for 0.0.3

I'll take care of this before some subsequent release, not necessarily 0.0.4, though.
2012-09-21 23:24   
Sounds fine to me. I'm not too concerned. I just wanted to at least get the issue on the tracker since it happens to me often enough.

Why does this happen?

I typically dev with a large log that takes a long time to load. Not only does it take a long time to load, but the "Log is loading..." message can take a long time to show up as well. This means there is no telling if I clicked the reload button, or if I'd moved the mouse off of the button before releasing the click.

So, sometimes I click it again, only to get screwed. =D
2012-09-21 23:27   
LOL, fair enough. Some code that is supposed to help with memory issues clears the guts out of the old object while the decoder is still trying to write to it, and it fails because of that. The right fix is a significant one.