[Lazarus] DateTimeToStr gives an invalid format string error when closing an rdp session

Luca Olivetti luca at wetron.es
Tue Jan 24 19:34:48 CET 2017


El 24/01/17 a les 19:24, Luca Olivetti via Lazarus ha escrit:
> El 24/01/17 a les 19:05, Mattias Gaertner via Lazarus ha escrit:
>> On Tue, 24 Jan 2017 18:59:28 +0100
>> Luca Olivetti via Lazarus <lazarus at lists.lazarus-ide.org> wrote:
>>
>>> El 24/01/17 a les 17:50, Luca Olivetti via Lazarus ha escrit:
>>>> Hello,
>>>>
>>>> I'm trying to debug a strange thing I saw in production (the main
>>>> symptom, but not the only one, is a TSynEdit in a tab in a TPageControl
>>>> that goes completely blank, no text, no scrollbars, no nothing, I
>>>> suspect I'm clobbering some memory but I'm not sure).
>>>> So I setup a windows 7 virtual machine in a server to leave my program
>>>> running under the debugger until it "breaks".
>>
>> Please provide a stacktrace.
>
>
> I didn't manage to provoke (yet) the symptoms as above, but this is the
> call stack when I connect (or disconnect) via rdp
>
>
> #0 fpc_raiseexception at :0
> #1
> SYSUTILS_DATETIMETOSTRING$crc782201FE_STOREFORMAT$ANSISTRING$LONGINT$BOOLEAN
> at :0
> #2
> SYSUTILS_DATETIMETOSTRING$crc782201FE_STOREFORMAT$ANSISTRING$LONGINT$BOOLEAN
> at :0
> #3
> SYSUTILS_DATETIMETOSTRING$ANSISTRING$ANSISTRING$TDATETIME$TFORMATSETTINGS at
> :0
> #4 SYSUTILS_DATETIMETOSTRING$ANSISTRING$ANSISTRING$TDATETIME at :0
> #5 SYSUTILS_DATETIMETOSTR$TDATETIME$$ANSISTRING at :0
> #6 TLOGGER__INTERNALLOG(0x1eab2390 '127.0.0.1:57233 Nueva
> conexi'#195#179'n desde 127.0.0.1:57233', <error reading variable>) at
> D:\boda_t10_l1_pc\comun\utils.pas:149
> #7 TLOGGER__LOG(0x1eab2390 '127.0.0.1:57233 Nueva conexi'#195#179'n
> desde 127.0.0.1:57233', <error reading variable>) at
> D:\boda_t10_l1_pc\comun\utils.pas:190
> #8 TMAINFRM__FTPLOG(0x1eab2390 '127.0.0.1:57233 Nueva conexi'#195#179'n
> desde 127.0.0.1:57233', <error reading variable>) at main.pas:352
> #9 TFTPKESERVER__SYNCLOG(<error reading variable>) at
> D:\boda_t10_l1_pc\comun\ftpkeserver.pas:458
> #10 CLASSES_CHECKSYNCHRONIZE$LONGINT$$BOOLEAN at :0
> #11 TWINDOWPROCHELPER__DOWINDOWPROC(<error reading variable>) at
> .\win32\win32callback.inc:1960
> #12 WINDOWPROC(787992, 0, 0, 0) at .\win32\win32callback.inc:2601
> #13 USER32!IsWindowVisible at :0
> #14 ?? at :0
> #15 USER32!IsWindowVisible at :0
> #16 TWINDOWPROCHELPER__DOWINDOWPROC(<error reading variable>) at
> .\win32\win32callback.inc:2571
> #17 USER32!IsWindowVisible at :0
> #18 ?? at :0
>
> Line 1960 of win32callback.inc is the CheckSynchronize in
>
>   case Msg of
>     WM_NULL:
>       if (Window = Win32WidgetSet.AppHandle) then
>       begin
>         CheckSynchronize;
>         TWin32Widgetset(Widgetset).CheckPipeEvents;
>       end;
>
> (of TWindowProcHelper.DoWindowProc)


Btw, if I then "reset the debugger" and try to start the program again, 
I get a lazarus exception "illegal character in format string". If I 
click Ok (ignore), the program doesn't run and the same message appears 
again when I press play another time, if I click cancel (kill lazarus), 
then I get a "read error, access violation, access violation" dialog 
box. I saw this from time to time since I switched to lazarus 1.6.2 but 
I didn't worry too much about it.

>
>>
>>> [...]
>>> Forgot to say, lazarus 1.6.2, fpc 2.6.4, win32
>>
>> Good to know.
>>
>> Mattias
>>
>
>


-- 
Luca Olivetti
Wetron Automation Technology http://www.wetron.es/
Tel. +34 93 5883004 (Ext.3010)  Fax +34 93 5883007


More information about the Lazarus mailing list