Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2005-06

gdb on amd64

4 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Vincent Snijders

Hi,

I am investigating a crash of lazarus on the amd64 platfrom.

Part of the backtrace looks like this:
#18 0x0000000000434ea0 in TAPPLICATION__RUN (this=Cannot access memory at address 0x8000ffffed18
) at application.inc:980

Note the parameter of TApplication.Run is not shown, because of the invalid memory address. Is this normal (can't gdb handle this?) or does this indicate a bug in my program?

Regards,
Vincent.

Reply by email

Florian Klaempfl
to Vincent Snijders
Vincent Snijders wrote 12 lines
Hi, I am investigating a crash of lazarus on the amd64 platfrom. Part of the backtrace looks like this: #18 0x0000000000434ea0 in TAPPLICATION__RUN (this=Cannot access memory at address 0x8000ffffed18 ) at application.inc:980 Note the parameter of TApplication.Run is not shown, because of the invalid memory address. Is this normal (can't gdb handle this?) or does this indicate a bug in my program?

You need at least a patched gdb, get the patch from: ftp://ftp.freepascal.org/pub/fpc/contrib/libgdb/v6.2.1/dbxread-amd64-stabs-fix.diff

Reply by email

Marco van de Voort
to Vincent Snijders: I am investigating a crash of lazarus on the amd64 platfrom. Part of the backtrace looks…
Show quoted text 10 lines
I am investigating a crash of lazarus on the amd64 platfrom. Part of the backtrace looks like this: #18 0x0000000000434ea0 in TAPPLICATION__RUN (this=Cannot access memory at address 0x8000ffffed18 ) at application.inc:980 Note the parameter of TApplication.Run is not shown, because of the invalid memory address. Is this normal (can't gdb handle this?) or does this indicate a bug in my program?

Sounds like calling a method of an object that isn't properly initialised or is corrupted.

Reply by email

Peter Vreman
to Marco van de Voort
Show quoted text 13 lines
> I am investigating a crash of lazarus on the amd64 platfrom. > > Part of the backtrace looks like this: > #18 0x0000000000434ea0 in TAPPLICATION__RUN (this=Cannot access memory > at address 0x8000ffffed18 > ) at application.inc:980 > > Note the parameter of TApplication.Run is not shown, because of the > invalid memory address. Is this normal (can't gdb handle this?) or does > this indicate a bug in my program? Sounds like calling a method of an object that isn't properly initialised or is corrupted.

It is a 32bit -> 64bit conversion error. gdb converts a signed 32bit to as an unsigned 32bit to 64bit.

Reply by email