[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Hitting "Run" only compiles (sometimes)


WOHOO I found the bug.   :D

A Condition on line 2545 of Project.module
https://gitlab.com/gambas/gambas/-/blob/master/app/src/gambas3/.src/Project.module?ref_type=heads#L2545

------------------
  For Each hForm In Files
    If Not hForm.IsModified() Then Continue
    Inc Application.Busy
    bSaved = True
    If hForm.Save() Then Break
  Next

  If bSaved Then Dec Application.Busy
------------------

So Application.Busy got an Inc for every modified doc but only one Dec after

modified to
    If Not bSaved Then Inc Application.Busy

So it only does Inc once.  now my error report does not report because
there is no error :)

Merge request made...
https://gitlab.com/gambas/gambas/-/merge_requests/417

Respects
BruceS

On Tue, 25 Aug 2026 at 14:48, Bruce Steers <bsteers4@xxxxxxxxx> wrote:

> I have found how to reproduce...
>
> It seems to happen when there are more than one modified file.
>
> I changed the mentioned "Lockit" line to be like this..
>
>   If LockIt() Then
>     Debug "Application.Busy = "; Application.Busy
>     Application.Busy = 0
>     Wait 0.1
>     If LockIt() Then Return True
>   Endif
>
> If I modify one class file all works as expected no errors.
>
> If I modify 2 class files then it reports Application.Busy = 1
> 3 files and Application.busy = 2
> and so on.
>
> The above code fixes the bug and the program runs but it's a terrible hack
> that i know is not the real fix.
>
> Respects
> BruceS
>
>
> On Mon, 24 Aug 2026 at 21:15, Bruce Steers <bsteers4@xxxxxxxxx> wrote:
>
>>
>>
>> On Mon, 24 Aug 2026 at 18:48, Bruce Steers <bsteers4@xxxxxxxxx> wrote:
>>
>>>
>>> > I would have to change many conditional calls like that to give an
>>>> error
>>>> > message so the issue can be located.
>>>> > the issue is sporadic and i've not yet been able to reproduce it :-/
>>>> lol.
>>>> >
>>>> > I'll investigate a bit more and see if i can find the problem before
>>>> > Benoit returns. (He'd probably figure it out in 2 minutes)
>>>> >
>>>>
>>>> Hi,
>>>>
>>>> I am aware of this problem for a longtime, but I wanted someone else to
>>>> notice it.
>>>>
>>>> But contrary to Bruce's expectation, I didn't figure out what happens
>>>> exactly...
>>>>
>>>> --
>>>> Benoît Minisini.
>>>
>>>
>>> I did try some things,
>>> I added error messages anywhere a function Returned from Design.Run()
>>> and all methods called from there, but when it happens I get no message
>>> indicating what failed.
>>>
>>> It is indeed a mystery
>>>
>>
>>
>> I got a hit from my modifications.. (see pic)
>> My Project.module is modified so line numbers don't quite match in pic.
>>
>> It's line 2354 on master.
>>
>> https://gitlab.com/gambas/gambas/-/blob/master/app/src/gambas3/.src/Project.module?ref_type=heads#L2354
>>
>> If LockIt() Then Return True
>>
>> Looks like Lockit() returns true because Application.Busy is not zero
>> (but why i do not know)
>>
>> Hope that Helps Ben :)
>>
>> Respects
>> BruceS
>>
>

Follow-Ups:
Re: Hitting "Run" only compiles (sometimes)Benoît Minisini <benoit.minisini@xxxxxxxxxxxxxxxx>
References:
Hitting "Run" only compiles (sometimes)Bruce Steers <bsteers4@xxxxxxxxx>
Re: Hitting "Run" only compiles (sometimes)Yahoo <olivier.cruilles@xxxxxxxx>
Re: Hitting "Run" only compiles (sometimes)Charlie Ogier <charlie@xxxxxxxxxx>
Re: Hitting "Run" only compiles (sometimes)Bruce Steers <bsteers4@xxxxxxxxx>
Re: Hitting "Run" only compiles (sometimes)Benoît Minisini <benoit.minisini@xxxxxxxxxxxxxxxx>
Re: Hitting "Run" only compiles (sometimes)Bruce Steers <bsteers4@xxxxxxxxx>
Re: Hitting "Run" only compiles (sometimes)Bruce Steers <bsteers4@xxxxxxxxx>
Re: Hitting "Run" only compiles (sometimes)Bruce Steers <bsteers4@xxxxxxxxx>