[Lazarus] Tracking down an intermittent termination exception
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Tue Mar 26 10:39:50 CET 2013
I've got a program here with main and background thread, it doesn't do
anything fancy like explicitly hooking the event loop. Intermittently it
displays something like this during termination:
An unhandled exception occurred at $08080639 :
EInOutError :
$08080639 CDONECRITICALSECTION, line 503 of ../unix/cthreads.pp
$08075B84 DONECRITICALSECTION, line 199 of
/usr/local/src/fpc/fpcbuild-2.6.2/fpcsrc/rtl/inc/thread.inc
$080D5404 COMMONCLEANUP, line 1751 of
/usr/local/src/fpc/fpcbuild-2.6.2/fpcsrc/rtl/objpas/classes/classe
s.inc
$080DD8A8 CLASSES_finalize, line 51 of ../unix/classes.pp
$08072DAF FINALIZEUNITS, line 833 of
/usr/local/src/fpc/fpcbuild-2.6.2/fpcsrc/rtl/inc/system.inc
$08072F28 INTERNALEXIT, line 886 of
/usr/local/src/fpc/fpcbuild-2.6.2/fpcsrc/rtl/inc/system.inc
$08073038 DO_EXIT, line 937 of
/usr/local/src/fpc/fpcbuild-2.6.2/fpcsrc/rtl/inc/system.inc
$0805E44B main, line 69 of BorgUM.lpr
$B6E57CA6
Looking at classes.inc, I see that the affected line is
DoneCriticalSection(SynchronizeCritSect);
Assuming that this is a problem in my own code, what sort of thing
should I be looking for?
Laz+LCL 1.1, FPC 2.6.2, Linux x86. This might in practice happen most
often when X is tunneled over ssh: could this mess up LCL termination?
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the Lazarus
mailing list