Q_Liberator malaise

Anything QL Software or Programming Related.
User avatar
RalfR
QL Wafer Drive
Posts: 1177
Joined: Fri Jun 15, 2018 8:58 pm

Re: Q_Liberator malaise

Post by RalfR »

Artificer wrote: Tue Jan 21, 2025 6:50 pmFrom the Qlib error reports, if the reports are reasonably accurate, one of the issues Qlib has with copyback is with string and array manipulation. Turbo has fixed sizes for arrays and strings unlike Qlib. C programs also have declaired sizes for these.
So maybe you should size all strings?


7000 4E75
User avatar
tofro
Font of All Knowledge
Posts: 3077
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: Q_Liberator malaise

Post by tofro »

RalfR wrote: Tue Jan 21, 2025 8:32 pm
Artificer wrote: Tue Jan 21, 2025 6:50 pmFrom the Qlib error reports, if the reports are reasonably accurate, one of the issues Qlib has with copyback is with string and array manipulation. Turbo has fixed sizes for arrays and strings unlike Qlib. C programs also have declaired sizes for these.
So maybe you should size all strings?
Turbo reminds you to DIM your strings with every compilation run.


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
User avatar
Peter
Font of All Knowledge
Posts: 2419
Joined: Sat Jan 22, 2011 8:47 am

Re: Q_Liberator malaise

Post by Peter »

Artificer wrote: Tue Jan 21, 2025 3:47 pm Alas after bodging qtrans and qdock and patching the resident qlib runtimes and rebooting the Q60 with copyback enabled neither worked giving up the ghost with QLIb error messages.
Thanks for trying and reporting. These are my favorite QLiberated programs by the way.
Artificer wrote: Tue Jan 21, 2025 6:50 pm From the Qlib error reports, if the reports are reasonably accurate, one of the issues Qlib has with copyback is with string and array manipulation. Turbo has fixed sizes for arrays and strings unlike Qlib. C programs also have declaired sizes for these.
But why should dynamic string/array manipulation collide with copyback cache? The data cache does not care about fixed size or not. Must be self-modifying executable code again.


User avatar
Artificer
Trump Card
Posts: 156
Joined: Fri Nov 24, 2017 8:43 am

Re: Q_Liberator malaise

Post by Artificer »

Peter wrote
But why should dynamic string/array manipulation collide with copyback cache? The data cache does not care about fixed size or not. Must be self-modifying executable code again.
I agree that is the question. My thinking from the error messages QLib produces is that dynamic management strings/arrays of data by the QLib pseudo interpreter runtime system may move data while cached code is to process the same data. Hence flushing the cache can only be part of a solution.

As far as the suggestions of recompiling with turbo or using fixed sizes for arrays QLib etc, yes I am already on board and started with those suggestions which will take time but naturally these won't sort programs written by others like qdock.

Cheers


User avatar
RalfR
QL Wafer Drive
Posts: 1177
Joined: Fri Jun 15, 2018 8:58 pm

Re: Q_Liberator malaise

Post by RalfR »

We don't know whether the error occurs when compiling or when the program is running.


7000 4E75
User avatar
RalfR
QL Wafer Drive
Posts: 1177
Joined: Fri Jun 15, 2018 8:58 pm

Re: Q_Liberator malaise

Post by RalfR »

Artificer wrote: Tue Jan 21, 2025 3:47 pmQtrans with line 4760 index out of range and qdock with line 4874 string is not numeric.
The two lines reported as errors are (according to Dilwyn) REMark lines. Maybe the QLib got confused with the error display.


7000 4E75
User avatar
Peter
Font of All Knowledge
Posts: 2419
Joined: Sat Jan 22, 2011 8:47 am

Re: Q_Liberator malaise

Post by Peter »

Artificer wrote: Wed Jan 22, 2025 8:09 am My thinking from the error messages QLib produces is that dynamic management strings/arrays of data by the QLib pseudo interpreter runtime system may move data while cached code is to process the same data.
Moving data as wildly as you like is no problem for copyback cache, as long as the executable code ist not changed.
The problem ist that QLiberator does just that, AKA self-modifying code. This is very likely also the case here.


User avatar
Peter
Font of All Knowledge
Posts: 2419
Joined: Sat Jan 22, 2011 8:47 am

Re: Q_Liberator malaise

Post by Peter »

RalfR wrote: Wed Jan 22, 2025 12:52 pm
Artificer wrote: Tue Jan 21, 2025 3:47 pmQtrans with line 4760 index out of range and qdock with line 4874 string is not numeric.
The two lines reported as errors are (according to Dilwyn) REMark lines. Maybe the QLib got confused with the error display.
Or Artificer did not test the same Q-Dock version.


User avatar
RalfR
QL Wafer Drive
Posts: 1177
Joined: Fri Jun 15, 2018 8:58 pm

Re: Q_Liberator malaise

Post by RalfR »

Peter wrote: Wed Jan 22, 2025 1:16 pmOr Artificer did not test the same Q-Dock version.
Which is v1.01.


7000 4E75
User avatar
Artificer
Trump Card
Posts: 156
Joined: Fri Nov 24, 2017 8:43 am

Re: Q_Liberator malaise

Post by Artificer »

I have Q-dock v 1.00 which is the identical version to the Q-dock version that is downloadable tonight from Dilwyn Jones site. I would not put much value on the QLib crash reports line numbers as I have found in my own software as Dilywn has that the actual line numbers may not contain code relevant to the error type. On the other hand the error type might be relevant.

Cheers


Post Reply