[Lazarus] App locks at startup

SteveG steveg at nevets.com.au
Sun Feb 28 04:35:18 CET 2010


On 28/02/10 13:18, SteveG wrote:
> On 28/02/10 13:08, Andrew Brunner wrote:
>> I would never Process Application Messages from a timer thread.
>>
>> I suspect a threadlock going on. Does it work OK without the
>> application.processmessages?
>>
>> On Sat, Feb 27, 2010 at 9:02 PM, SteveG<steveg at nevets.com.au> wrote:
>>> I have just updated Laz (svn) and Fpc(2.4.0) and have hit a problem
>>> with my
>>> program. (worked ok with Laz 0.98 / fpc 2.?.?)
>>>
>>> I use a dyn loaded lib with my app, which seems to be relevant.
>>>
>>> If I call Application.ProcessMessages from within a TTimer.OnTimer
>>> event, my
>>> app now locks solid showing 'futex_wait_queue_me' in the process
>>> listing.
>>>
>>> I havent yet been able to narrow down an exact cause, as a simple
>>> app/lib
>>> test works ok.
>>>
>>> Would anybody know what would cause the above state (futex), as a
>>> clue to
>>> the change in Laz/Fpc affecting my app ?
>
> It does seem to work without the App.proc call. The problem I have seems
> to be caused by calling App.proc once my lib is loaded. This was the
> closest I have been able to get in narrowing down to a small test case.
> I call App.procMsgs from within my lib which is where the actual problem
> seems to be.
>
> Is there any other way to create a 'pause' from within a
> library/function call (not sleep, as it 'stops' the program).
> My 'pause' function is works as :>
> StTm := NOW;
> while NOW < (StTm + TmOut) do begin
> Sleep(1);
> Application.ProcessMessages;
> end;
>
> This worked ok before the Laz/fpc update, but seems to be broken now ?
> This is just my 'guess' so far as where my problem lies ?
>
After more study (read as: more google) - it may be related to the 
kernel changes in Ubuntu 10.04 - seems to be many unrelated programs 
suffering similar problems - will continue this story as I find more :)





More information about the Lazarus mailing list