Re: [Ql-Users] Strange channel bugs?

2017-11-13 Thread Bob Spelten via Ql-Users
Op Sun, 12 Nov 2017 18:11:57 +0100 schreef Per Witte via Ql-Users  
:



Is this the sort of issue you mean?

100 CLS
110 FOR i = 0 TO 4
120  FOR j = 0 TO 4
130   AT i * 2, j * 6: PRINT i; ','; j;
140  END FOR
150 END FOR
160 :
170 PRINT
180 PAUSE

RUNs fine under SMSQ/E, displays only the first line if compiled as a  
Qlib job (but no errors or warnings are given - either at compile time
or when executing). Turbo, even under SMSQ/E, kicks up a fuss at parse  
time, and if

you load it in SuperBASIC under Qdos or Minerva lines 140 and 150 show up
as MISTake's. So its normally a good idea to try out problematic code in
different environments. It doesnt necessarily have to work 100% before
certain mistakes reveal themselves.


That's exactly what I mean.
Once fixed the compiler bug was gone and the compiled program did no  
longer freeze and produced it's windows.


The call to my procedure with the END FOR line was even REM'd out but  
still QLIB got in trouble and messed up the _obj and SMSQE.



On 12 November 2017 at 13:54, Bob Spelten via Ql-Users <
ql-users@lists.q-v-d.com> wrote:

Op Tue, 12 Sep 2017 18:47:35 +0200 schreef Bob Spelten  
:


What's happening?


I have successfully compiled a new version of my program.
That's to say, there were no errors reported by BasicLinker or  
Qlibeator.
But when the _obj is executed nothing seems to happen, no menu to act  
on.

It's there in the JOBS list but no channels were opened for it.
When I then kill this job it has the effect that the QD with the
programs  _bas can no longer produce lists of my Procs and FNs from the
C-F6 to C-F8 buttons or keys.

(...)

It's been 2 month since I reported this problem.

After many attempts to locate the problem Wolfgang Lenerz finally found
the culprit.
It was one missing index variable on an END FOR line.

"Unnamed NEXT, EXIT and END statements" is a feature of SMSQ/E.
Normally I am no fan of this as it can make the program more difficult  
to read, especially when start and end of the loop are far apart.

This one (actually two) had escaped my proof reading.

Now it turned out Q_Liberator also cannot deal with it and can, as was  
the case here, corrupt SMSQ/E in a sneaky way without a Sysmon alarm.

So be warned, don't use this "feature" with Qlib!


Bob



--
The BSJR QL software site at: "http://members.upc.nl/b.spelten/ql/;
___
QL-Users Mailing List


Re: [Ql-Users] Strange channel bugs?

2017-11-12 Thread Per Witte via Ql-Users
Is this the sort of issue you mean?

100 CLS
110 FOR i = 0 TO 4
120  FOR j = 0 TO 4
130   AT i * 2, j * 6: PRINT i; ','; j;
140  END FOR
150 END FOR
160 :
170 PRINT
180 PAUSE

RUNs fine under SMSQ/E, displays only the first line if compiled as a Qlib
job (but no errors or warnings are given - either at compile time or when
executing). Turbo, even under SMSQ/E, kicks up a fuss at parse time, and if
you load it in SuperBASIC under Qdos or Minerva lines 140 and 150 show up
as MISTake's. So its normally a good idea to try out problematic code in
different environments. It doesnt necessarily have to work 100% before
certain mistakes reveal themselves.

Just my penny's worth..

Per

On 12 November 2017 at 13:54, Bob Spelten via Ql-Users <
ql-users@lists.q-v-d.com> wrote:

> Op Tue, 12 Sep 2017 18:47:35 +0200 schreef Bob Spelten :
>
> What's happening?
>>
>> I have successfully compiled a new version of my program.
>> That's to say, there were no errors reported by BasicLinker or Qlibeator.
>> But when the _obj is executed nothing seems to happen, no menu to act on.
>> It's there in the JOBS list but no channels were opened for it.
>> When I then kill this job it has the effect that the QD with the
>> programs  _bas can no longer produce lists of my Procs and FNs from the
>> C-F6 to C-F8 buttons or keys.
>>
>> (...)
>>
>> It's been 2 month since I reported this problem.
> After many attempts to locate the problem Wolfgang Lenerz finally found
> the culprit.
> It was one missing index variable on an END FOR line.
>
> "Unnamed NEXT, EXIT and END statements" is a feature of SMSQ/E.
> Normally I am no fan of this as it can make the program more difficult to
> read, especially when start and end of the loop are far apart.
> This one (actually two) had escaped my proof reading.
>
> Now it turned out Q_Liberator also cannot deal with it and can, as was the
> case here, corrupt SMSQ/E in a sneaky way without a Sysmon alarm.
> So be warned, don't use this "feature" with Qlib!
>
>
> Bob
>
> --
> The BSJR QL software site at: "http://members.upc.nl/b.spelten/ql/;
> ___
> QL-Users Mailing List
>
>
>
___
QL-Users Mailing List


Re: [Ql-Users] Strange channel bugs?

2017-11-12 Thread Bob Spelten via Ql-Users

Op Tue, 12 Sep 2017 18:47:35 +0200 schreef Bob Spelten :


What's happening?

I have successfully compiled a new version of my program.
That's to say, there were no errors reported by BasicLinker or Qlibeator.
But when the _obj is executed nothing seems to happen, no menu to act on.
It's there in the JOBS list but no channels were opened for it.
When I then kill this job it has the effect that the QD with the  
programs  _bas can no longer produce lists of my Procs and FNs from the  
C-F6 to C-F8 buttons or keys.


(...)


It's been 2 month since I reported this problem.
After many attempts to locate the problem Wolfgang Lenerz finally found  
the culprit.

It was one missing index variable on an END FOR line.

"Unnamed NEXT, EXIT and END statements" is a feature of SMSQ/E.
Normally I am no fan of this as it can make the program more difficult to  
read, especially when start and end of the loop are far apart.

This one (actually two) had escaped my proof reading.

Now it turned out Q_Liberator also cannot deal with it and can, as was the  
case here, corrupt SMSQ/E in a sneaky way without a Sysmon alarm.

So be warned, don't use this "feature" with Qlib!

Bob

--
The BSJR QL software site at: "http://members.upc.nl/b.spelten/ql/;
___
QL-Users Mailing List


Re: [Ql-Users] Strange channel bugs?

2017-09-13 Thread Wolfgang Lenerz via Ql-Users
Hi Bob,

Looks like something is overwriting part of the OS. Since QPC &
SMSQmulator are located at different addresses, this explains the
difference.

As Marcel wrote, are you Peeking/poking stuff?

Without knowing what your prog does, I can't really help you beyond that
If you send it to me, I'll probably be able to have a look at it.

Best regards

Wolfgang
___
QL-Users Mailing List


Re: [Ql-Users] Strange channel bugs?

2017-09-12 Thread Marcel Kilgus via Ql-Users
Bob Spelten via Ql-Users wrote:
> These errors were not given every time but after what looked like a proper
> reset, an newly started QD still did not do C-F6/F8.
> The QPC2 job has to be restarted before QD behaves normal again.

The OS is not write protected on QPC and only read once on startup. So
if you overwrite something then this is permanent damage.

> Under SMSQmulator the _obj also executes without opening any windows but
> the QD anomaly doesn't seem to happen there.

Memory problems are pretty random and differ between OS/platforms.

> I understand that my source _bas is faulty but what can cause such an
> upset and where do I start looking for a fix?

Check anything that might corrupt memory (e.g. PEEK, POKE, LBYTES and
any external extensions).

Marcel

___
QL-Users Mailing List