[Lazarus] Windows startup infinite loop

Henry Vermaak henry.vermaak at gmail.com
Sat Feb 16 12:10:17 CET 2019


On Sat, 16 Feb 2019 at 07:06, Dennis via lazarus
<lazarus at lists.lazarus-ide.org> wrote:
> Henry Vermaak via lazarus wrote:
> > We're having a strange problem here, an infinite loop happens on a customer's
> > machine just after the main form is created.  It doesn't happen when the
> > program is run inside a debugger and it only happens on the customer's
> > machine(s), so it's probably related to their Windows configuration.
> >
> > The infinite loop is not in our code (probably happens with HandleNeeded() is
> > called for the main form).  When I attach gdb manually when the program is run
> > outside the debugger I can get a stack trace that shows the loop:
> Does it happen on all windows versions i.e. windows 10, windows 7 etc?

It happens to all the computers in one organisation (win10), nowhere
else that I know of.  My first thought was something like anti-virus,
but It's only our program that behaves badly, which is why I suspect a
bug in the win32 lcl interface.  We have many installs from XP up to
10 and I've never had any issues like this.

> I myself experience different behaviour in setting a control's parent
> under windows 10 and windows 7.
> In Windows 10, it takes 10 seconds to create children controls within a
> TFrame's constructor if its parent is already set.
> No problem in windows 7.
> Eventually, I only create the children controls before setting the
> TFrame's parent.

That's very interesting, thanks.  We do create frames as part of the
main form constructor and we set the parent first.  Perhaps I should
even delay that to when the form is shown.

Henry


More information about the lazarus mailing list