|
Post by Stefan on Feb 8, 2022 10:46:13 GMT -5
Hi George,
I have a couple of obscure buggies for you...
Observed on version 22014, but probably applicable to others also.
(1) SPFLite crash If user is editing a file which has since been deleted by an external process, the 'file has been modified or deleted...' pop-up appears when you next cause an ATTN event on the SPFLite session. So far, so good. However, if the aforementioned ATTN event happens to be the END primary command (AUTOSAVE ON), the pop-up appears as usual, but SPFLite crashes after the user replies to the pop-up.
(2) Profile IMACRO setting If user is editing a file which has since been changed by an external process, the 'file has been modified elsewhere...' pop-up appears when you next cause an ATTN event on the SPFLite session. If the user opts to 'reload the modified version' the iMACRO associated with that file's profile is not executed when the file is reloaded..
|
|
|
Post by George on Feb 9, 2022 9:17:52 GMT -5
Stefan: I'll have a look at both of these, thanks for reporting them. What reply to the popup was chosen? (Or does it fail regardless)
George
[UPDATE] OK, I can't figure out a scenario for item 1.
I open the file in Edit. I use Explorer to delete the file. I switch back to SPFLite and immediately the popup appears, reply to it and I'm back in Edit.
How do you get the END command to be the trigger ATTN. Switching back from Explorer to SPFLite causes an ATTN. I'm confused about the sequence of events. [/UPDATE]
|
|
|
Post by Stefan on Feb 9, 2022 11:39:35 GMT -5
Hi George,
I think the reason for your scenario isn't showing the error is that when you switch to Explorer, the SPFLite window loses focus. When SPFLite regains it, you have an implicit ATTN event, so you never get the chance to press PF3.
In my case, the file is deleted by another process running at the same time. (yes, sorry... I'm pushing the envelope again). So SPFLite remains the 'active' window and retains focus at all times.
The sequence of events is...
- I have a file open for editing - SPFLite has the input focus. - The file in question is deleted by an external process, SPFlite still has the input focus. - The next SPFLITE 'ATTN' event is caused by me, having realised that the file has gone, pressing PF3 (END). - The current edit session / tab is closed as expected and I'm left looking at the previous edit tab. - At the same time, the 'File may have been modified or Deleted. SPFLite cannot determine which" pop-up appears. - I click OK (the only option) - The Crash Intercept Pop-up appears, "...execution exception (C005) Select OK to attempt to save modified data..." - I click OK. - If there are other modified edit tabs open, another pop-up informs me of their 'crashsave' status and I click OK again. - SPFLite closes.
The crash isn't a huge disaster because CrashSave does at least secure the other open tabs. That's good, but probably unreliable.
In my case, modifications in open tabs are often incomplete/inconsistent at the time SPFLite crashes.
|
|
|
Post by George on Feb 10, 2022 11:02:12 GMT -5
Stefan: OK, got it. Maybe I can figure out the sequence of just WHERE the deleted file posting occurs. The popup is obviously occurring after the ATTN is satisfied, but because the popup is associated with an active tab (which has now gone away) something now has a pointer to nowhere.
Hopefully I can move the popup to be done before the ATTN routine (END) kills the tab.
George
|
|
|
Post by Stefan on Mar 10, 2022 4:13:26 GMT -5
Hi George,
I've just switched to latest release v22066.
I note you list "Add additional validation to internal pointers in the Tab removal process." in the change log. If that relates to this crash bug, it hasn't fixed the problem.
(1) When I have an EDIT tab open (modified or not) AND
(2) an external process deletes the file being edited AND (3) the next thing the user does is issue END command THEN (4) the "...may have been modified or Deleted, SPFLite cannot determine which." pop-up occurs. (5) The user dismissing (<OK>) the pop-up is immediately folllowed by an SPFLite crash.
Note that the pop-up in (4) only appears AFTER the user issued END command, causing the first Attn event in SPFLite since the deletion took place.
In my case, the file deletion is caused by an external program removing a temporary file, which I happen to have open in SPFLite. I agree that I can avoid this with improved scheduling of the the external process and the SPFLite session, so it is unlikely to be a big problem for other users.
I also note that if I modify the file during the edit session, the END command (AUTOSAVE ON) works correctly, i.e. although the file HAS BEEN deleted, SPFLite SAVEs a new copy. From my layman's perspective, the issue seems to be EITHER - The POP_Up Event code: What changes does this make internally other than pop-up the '...can't determine which...' panel? OR
- The Tab Removal Process: Which presumably occurs after the AUTOSAVE, if any.
I figure it is most probably the former, because why would the Tab Removal process process care if the file exists or not? SPFLite crashes in both caases.
|
|
|
Post by George on Mar 10, 2022 10:02:03 GMT -5
Stefan: Yes those changes were an attempt to 'guess' what was going on. I still have no way to duplicate this deletion from an external process. Maybe I'll have to write a small program to fire up, have it sleep for short period (while I switch back to the SPFLite Edit session) and then have it delete the file. Even then, this be an iterative 'zero in' debug process to try and catch where it is hapening.
George
|
|
|
Post by George on Mar 10, 2022 11:12:59 GMT -5
Stefan: I'm stumped. Even with a small tool to externally delete the file while the focus in on SPFLite I can't get a crash. And I've tried this with YOUR CFG data.
If I trigger the ATTN with a simple Enter, I get the warning pop-up. If I trigger the ATTN with an END command, I get no pop-up and the edit tab just closes. If I trigger the ATTN with an END command and AUTOSAVE is ON, I get no pop-up, the file is re-saved, and the edit tab just closes.
As I said - stumped.
George
|
|
|
Post by Stefan on Mar 11, 2022 6:39:37 GMT -5
OK, I'll see if I can get this to work by experimenting with a clean install. As I said, it takes quite an effort to get SPFLIte to crash, so I doubt it is a huge issue for 99% of users.
|
|