|
Post by George on Jan 8, 2020 16:27:46 GMT -5
Hi, The forums have been fairly quiet lately, so maybe 'no news is good news', but I'd still really appreciate some feedback on the new V2 Release.
Have you migrated to it?
Did the migration go well?
etc.
Anything would be nice, even negative reports. Working in a vacuum is no fun.
George ===> Working in a vacuum sucks, I do believe :-)) R
-----> Yuck, Yuck! G
|
|
|
Post by nicc on Jan 10, 2020 7:06:25 GMT -5
Really stuffed me up. Downloaded the latest and installed. Looked at one of my Rexx programs - no colourisation. It's there in v11 ok. Ran uninstall - no SPFLite2 and no v11 either. All the stuff under Documents\SPFLite still there. Reran setup and selected the redo migrate option. Nothing. No indication that anything was happening. No icon on task bar. Tried restarting SPFLite2 - cfg file error message. Then the original came back saying migration complete. Stopped and restarted and got this crash report: SPFLite V(2.0.19350) SPFLite has encountered an execution exception (C0000005)
Last Interactions were: Module Back Trace: 01 | PCRE_REGEX_COMPILE 00 | REALPBMAIN
but started OK and colourisation was back.
I may now be a happy bunny.
|
|
|
Post by George on Jan 10, 2020 10:32:43 GMT -5
nicc: Hmmm, wish I had some ideas here to explain all that.
First off, as I have said repeatedly, you NEVER have to, nor SHOULD you, uninstall an SPFLite release. You can run the Installer over and over, no harm there either.
Did you participate in the Beta testing? If so, the error may be mine for not saying to delete the CFG file and re-do the migration with the final release.
That error with the PCRE_REGEX_COMPILE is one of those happens-once-in-a-blue-moon things that I can't explain. Can't get it to repeat, it just 'goes away'. Darn frustrating for us all.
George
|
|
|
Post by nicc on Jan 11, 2020 9:30:17 GMT -5
1) I tried to uninstal with the unistall.exe from SPFLite2 hoping it would clean up just SPFLite2 - it didn't - it cleaned up everything in the Program Files (x86) folder i.e. it deleted the folder. No big deal as I probably would not have gone back to v11. But, probably it should uninstall only SPFLite2 (which would mean a separate uninstaller for v11 and before). 2) Yes I did participate in beta testing. I reckon that all I really had to do was delete the .cfg and, just to be sure to be sure, spflite2.exe. 3) I am getting that PCRE error 9+ times out of 10. I can still use spflite as long as I leave the message window open. I don't think I have anything 'special' about my setup - I am using an hp laptop, Windows 10, textpad open (usually), Open Office open (usually) and a Sticky Note open (always). For further testing I have closed TextPad and restarted SPFLite - same thing. Reinstalled SPFLite2 (by only rerunning the setup.exe) and same thing again. Only one thing to try - cold reboot. Nope - still errors.
|
|
|
Post by George on Jan 11, 2020 11:44:18 GMT -5
nicc: So you get it regularly and ignoring it lets SPFLite continue? Hmmm, very good clue. I just wish I could get it to occur here.
Regardless, it narrows down my search quite a bit. Thanks.
George
|
|
|
Post by George on Jan 14, 2020 13:00:59 GMT -5
nicc: As you seem to get the PCRE error fairly regularly, I could use a favor from you to resolve this as I just can't seem to make it happen. Can you download SPFLite.Com/Files/SPFLite2Test.zip from the SPFLite website. It contains an SPFLite2Test.EXE program. Simply copy this EXE to the \Program Files (x86)\SPFLite folder. Make no other changes at all, this will not affect your installed version. Try this version out - just execute it from Explorer, or create a new desktop shortcut, your preference. Let me know the results. I've reviewed the whole initialization sequence, didn't see an obvious cause, but made some changes based on what you've been seeing. I'm hopeful. George
|
|
|
Post by nicc on Jan 14, 2020 16:26:54 GMT -5
OK - eventually got it in the right place ------ despite the fact that my working userid has admin privileges I had to swap to my admin id to get it into c:\program files (x86)\spfite. Started up without error. Closed it and tried the production version - it started without error for the first time since god knows when.
|
|
|
Post by Stefan on Jan 14, 2020 17:36:04 GMT -5
Hi George, Recap: I was attracted to v2 because I was looking to place the SPFLite folder on a NAS and share the content across multiple clients, so all would have access to the latest copies of Macros, Auto colourisation files, Profile INI files, etc. My experience from v11 to v2 beta to v2.0.19350
- Initial v2 beta installation over v11 and building of the CFG file went well. But the v2 install effectively "lost" the v11 shortcut from my desktop because both use the "SPFLite Editor" filename.
- I upgraded to the second beta version. I don't quite remember if it was here or on a subsequent install, but my previous CFG file was replaced by the standard/empty one. Maybe I picked the wrong install option. I rebuilt the CFG again from the v11 data still in the SPPFLite folder. Call me stupid, but it took several attempts to get this to work. As part of this, I UNINSTALLed v2 and found that v11 died with it - I echo member nicc's experience.
- I copied the client's SPFLITE folder to a shared drive on my NAS and installed v2 on a second client previously on v11.
- I changed both clients via the OPTIONS dialog, specifying the shared SPFLite folder on both the "General" and "Config tabs". I tested both clients, first one at time, then with both simultaneously in sessions, editing different files, etc and everything seemed(!) to be working fine.
- I upgraded both clients to the "non-beta" v2.0.19350 (taking extra care over the CFG file this time!). All seemed to be fine, but then the ABENDs began.
C00005 Access Violation- I saw many apparently random C000005 ABENDs. Sometimes v2 would restart after a failure, but mostly the CFG was corrupted and a restart just failed with C00005 immediately.
- The crash-file trace usually placed the "in-flight" failure in RESETFUNC. The fail on restart was always in INITLOCALTABLES.
- I tried many scenarios but failed to find a common cause, UNTIL a Eureka! moment occurred to me.
After the initial testing period for "v2 in a shared location", I had ticked " Always available offline" in the properties of the SPFLITE folder on the NAS drive. The idea was to have the SPFLITE folder available when I'm away from home with my laptop. Windows Sync Centre will maintain a local copy of the SPFLite folder on each client. However, the synchronisation is driven by time schedule and I believe the periodic complete replacement of the NAS-based CFG file with a copy from a different client lead to a corrupt CFG file. Since removing the "offline sync" property, both clients appear( !) to behave themselves again. Observations / Suggestions- Installation procedure should give a different name to the v2 desktop shortcut to allow co-existence with the v11 shortcut.
- Preceded by the advice in the version change dialog on initial v2 install, the descriptions for the options to build the initial CFG file seem OK'ish. On v2 re-install, the descriptions could be clearer to state which option keeps the existing CFG, which option rebuilds the CFG from the v11 files and which option gives me an "empty" CFG.
- I think(!) that if the v2 installer finds a CFG file in the C:\users\<name>\Documents\SPFLite folder, it obtains the path for the new CFG file from it, BEFORE it presents the options dialog. So when I requested a rebuild of the CFG file from v11 data, it did not rebuild the CFG file within C:\users\<name>\Documents\SPFLite, but the one in the shared folder where the original CFG file pointed. This is undesirable when my choice implied that I was unhappy with the existing CFG file.
- I echo member nicc's point that an UNINSTALL for either v11 or v2 will delete both products from "Program Files". What if somebody has successfully upgraded to v2 and UNINSTALLs v11 from Control Panel - Programs and Features? Either v2 should have its own "Program Files" subfolder, or you could consider releasing one last v11 version which is unchanged except for the uninstall file so that it leaves v2 untouched and update the v2 uninstall file so it leaves v11 in tact.
Questions- Does the CFG database support changes from multiple clients for individual data objects, i.e. if it is NOT a whole file replacement?
- I'm still unclear between the two fields in the OPTIONS panel. I'm assuming General tab's "Configuration Folder is" specifies the CFG location, and Config tab's "SPFLite Data storage folder" specifies the location of the other files. Is that correct?
- Which v11 config details are now in the CFG file and which v11 config details are in the "other" files?
And finally a potential bug and a request
- On several occasions a single-character line command (e.g. "D") acted on many lines. I have also seen "C00000" in the line command area even though I only type "C" and suspect that under some circumstances the line numbers are not blanked as I type the line command, so a sole "D" becomes "D00218". Maybe something to do with keyboard INSERT mode and/or how or from where the cursor was moved into the line number area? Probably worth a look into that section of code.
- MACROS: It is frustrating that the console window that opens e.g. by SPF_DEBUG(...) cannot be closed by itself. If you close the console window, the entire SPFLite session closes with it.
If the answer to question (1) above is YES, I'm OK with not using Windows Sync Centre if that is indeed the reason for the ABENDs. If so, no further action is needed on your part except perhaps to include a warning in documentation not to try and sync the CFG across portable devices. If the answer to question (1) above is NO, my issue is that the CFG includes Profile.INI info as well as AUTO colourisation info, both of which want to share between clients. This would have been achievable with v11 just by allowing users to specify the PATH for the SPFLite Folder location, as all the info was in individual files/folders and any potentially unlikely corruption is easy to spot/repair. With this data is obfuscated inside the CFG and sharing it is regrettably impossible.
|
|
|
Post by George on Jan 15, 2020 13:42:08 GMT -5
Stefan: Thanks for your lengthy posting. Give me some time to absorb it and I'll answer, probably in smaller topic oriented chunks.
George
|
|
|
Post by George on Jan 15, 2020 13:48:35 GMT -5
Stefan: OK, first decision made. Hindsight says I should have gone this route from the start.
SPFLite2 will install completely separate from the old V11- versions. This will create separate Icons etc. and a new \Program Files (x86)\SPFLite2 folder.
I'm torn on whether the Data folder can remain \Documents\SPFLite or whether I should copy the old to a new \Documents\SPFLite2 folder. V2 allows you to move/rename it anyway, so my preference is for the install to just 'leave it alone'.
Comments?
George
|
|
|
Post by George on Jan 15, 2020 14:10:33 GMT -5
nicc: OK, can you try and use it regularly for a while and see if those PCRE crash reports have properly gone away?
Many thanks for taking the time on this.
George
|
|
|
Post by George on Jan 15, 2020 14:47:00 GMT -5
Stefan: I've never used the Windows Sync Center (never had a need) so did some browsing. Found it quite confusing, everything is geared to the "How to setup Sync'ing" and nothing about actual use.
How does it work offline? Does it simulate your network drive? i.e. if online it's drive X: does it still appear as drive X: when offline?
And Sync'ing? I assume there must be some conflict resolution if several client systems update a file offline and then later go back online. This kind of thing gives me the 'willies', it seems to introduce way too many points of conflict/failure.
Regardless of all that, the CFG file is just a standard SQLite DB, with almost nil referencing between tables. I'm hard pressed to see how Sync'ing could corrupt it. But then I'm not exactly 'up' on how SQLite maintains integrity in shared usage.
But your results show a serious problem. When I Google SQLite and offline Sync, there seems to be a lot of items mentioning additional tools to support this. Obviously there's more to this than first appearances.
George
|
|
|
Post by George on Jan 15, 2020 15:07:42 GMT -5
Stefan: If ANY SPFLite2 startup (1st time or otherwise) finds Configuration folder, or SPFLite.CFG missing you get the following:
N.B. I've tweaked the text below to try and make it clearer, feel free to provide alternative text that you feel might be preferable.
SPFLite.CFG was not found in The-HomeFolder-Name
Enter CANCEL to terminate immediately. Enter YES to continue as a new installation. (A Default CFG File) Enter NO to Re-Do migration of old SPFLite Config data. (A Migrated Configuration)
|
|
|
Post by George on Jan 15, 2020 15:11:51 GMT -5
Stefan: This point: - I think(!) that if the v2 installer finds a CFG file in the C:\users\<name>\Documents\SPFLite folder, it obtains the path for the new CFG file from it, BEFORE it presents the options dialog. So when I requested a rebuild of the CFG file from v11 data, it did not rebuild the CFG file within C:\users\<name>\Documents\SPFLite, but the one in the shared folder where the original CFG file pointed. This is undesirable when my choice implied that I was unhappy with the existing CFG file.
is confusing me. The option to start new / re-migrate / bail out is only provided if a CFG file cannot be located. Your point starts out saying it gets the folder location from the CFG file before the option is presented. But the CFG file does not exist. Help me out here. George
|
|
|
Post by mueh on Jan 16, 2020 1:41:47 GMT -5
George: As for Stefan's Point MACROS: It is frustrating that the console window that opens e.g. by SPF_DEBUG(...) cannot be closed by itself. If you close the console window, the entire SPFLite session closes with it. i'm using the Console_Free function of thinbasic to free the console but Console_Alloc must be retried untill handle returned is the same value as it is in Consl . This takes some time or may never happen. Suggest the following update in _SPFLite.bas and coding a macro with SPF_Debug($CRLF) to free the Console
SUB DEBUG (st AS STRING)
'---------- Print stuff to a console
STATIC Consl AS LONG
LOCAL szConsole AS ASCIIZ * 1024
'----- Allocate a console if we haven't already done so
IF Consl = 0 THEN
AllocConsole
SetConsoleTitle "PB Diagnostic Console"
Consl = GetStdHandle(%STD_OUTPUT_HANDLE)
SetConsoleTextAttribute Hwnd&, %FOREGROUND_RED OR _
%FOREGROUND_GREEN OR _
%FOREGROUND_BLUE
END IF
'----- print the line
IF Consl > 0 THEN
if st = $CRLF
FreeConsole ' SPF_Debug($CRLF) in macro
Consl = 0
else
szConsole = st & $CRLF
WriteConsole Consl, szConsole, LEN(szConsole), %NULL, %NULL
end if
END IF
END SUB
' CLS.macro uses "console" if Ucase$(Get_Arg$(1)) = "F" then SPF_Debug($CRLF) else cls endif halt
|
|