[Lazarus] (Still googling for it) GDB error 31 ?

Lukasz Sokol el.es.cr at gmail.com
Thu Sep 22 14:04:39 CEST 2011


Hello Martin,
On 22/09/2011 12:41, Martin wrote:
> On 22/09/2011 12:16, Lukasz Sokol wrote:
>> Hi,
>> 
>> I have installed 0.9.30 (2011-03-08), FPC 2.4.2 rev. 29749 
>> (i386-win32-win32/win64) on another machine with Windows XP Prof.
>> SP3,
> 
> 32 Bit CPU? or 64 bit?

32bit (Dell Lattitude D600 Intel(R) Pentium(R) M)

> 
> If 32, then please download latest GDB from
> http://svn.freepascal.org/svn/lazarus/binaries (include libraries)
> and try with that.

OK will try.
> 
>> It compiles, and runs OK, but for some reason at some point (when I
>> press a key on my keyboard when caret is in a TMemo), the GDB bails
>> out with Error: 31 (found in debug log) at which time Lazarus 
>> panics and pulls a plug...
> I don't currently have my XP test environment ready, so I'll ask
> questions.
> 
> The 32 one must have some context (even if you can't see it currently
> (Signal, OS error, File-system error....)
> 
> The latest 0.9.31 (trunk / unstable snapshot) displays added info in
> the "oops debugger" message. You might try the 0.9.30.1 (fixes branch
> / usually quite stable), though I am not sure it does have the extra
> info.
> 
> In any case, you do not need to upgrade, but  you should at least run
> with --debug-log (NO need to recompile with the extra define) and
> also provide the output from the "debug output" window, as described
> on the wiki.
> 

>> 
>> I did what http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips
>> suggested, i.e. no -Xs, no -XX, no optimization or -O1.
> With or without "dwarf (-gw)" ? Does dwarf make a difference
> (probably not).
> 
>> 
>> I can replicate it with a small test project, this is so small it's
>> pointless to write code here : - start a new project - put a TMemo
>> on it - save&compile&run - click on the Memo1 when running - type
>> any alphanumeric character on the keyboard ->  GDB crashes, this
>> time not even reporting an Error number.
> Exact text, of the output of GDB or the Lazarus IDE?
> 
First the 
gdb.exe <in title bar
gdb.exe has encountered a problem and needs to close(...)
(OS communicates)
then

Debuger error

Ooops, the debugger entered the error state
Save your work now !

Hit Stop, and hope for the best, we're pullin the plug.

OK

---> lazarus window appears.


Excerpt from the log file (of the test project):

[TCompiler.Compile] end
TMainIDE.DoInitProjectRun ProgramFilename=C:\Products\test_project\testproject.exe[TCmdLineDebugger] Debug PID: 288
[Debugger] Running GDB version: GDB
[TDebugger.SetFileName] "C:\Products\test_project\testproject.exe"
TGDBMIDebugger.StartDebugging WorkingDir="C:\Products\test_project\"
TGDBMIDebugger.ProcessResult Error: ,msg="No symbol \"FPC_THREADVAR_RELOCATE_PROC\" in current context."
[Debugger] Log output: &"info functions FPC_CPUINIT\n"
[Debugger] Log output: &"set width 50000\n"
[Debugger] Log output: &"info address main\n"
[Debugger] Log output: &"ptype TObject\n"
[Debugger] Log output: &"info address FPC_RAISEEXCEPTION\n"
[Debugger] Log output: &"info address FPC_BREAK_ERROR\n"
[Debugger] Log output: &"info address FPC_RUNERROR\n"
[Debugger] Log output: &"info file\n"
[Debugger] File type: pei-i386
[Debugger] Entry point: 0x521940
[Debugger] Log output: &"Function \"foo\" not defined.\n"
[WARNING] Debugger: Unexpected async-record: =thread-group-started,id="i1",pid="2464"
[Debugger] Log output: &"info program\n"
[Debugger] Target PID: 2464
PeekNamedPipe failed, GetLastError is 109
[TCmdLineDebugger.Getoutput] Error waiting 
[TCmdLineDebugger.SendCmdLn] Unable to send <-gdb-exit>. No process running.
PeekNamedPipe failed, GetLastError is 109
[TCmdLineDebugger.Getoutput] Error waiting 
[WARNING] TGDBMIDebugger:  ExecuteCommand "-gdb-exit" failed.
LAZARUS END - cleaning up ...
[TCmdLineDebugger.SendCmdLn] Unable to send <-gdb-exit>. No process running.
PeekNamedPipe failed, GetLastError is 109
[TCmdLineDebugger.Getoutput] Error waiting 
[WARNING] TGDBMIDebugger:  ExecuteCommand "-gdb-exit" failed.

Hope this helps ?

Lukasz





More information about the Lazarus mailing list