heaptrc crashes after killing exception

Original Reporter info from Mantis: BeniBela @benibela
  • Reporter name: Benito van der Zander

Description:

heaptrc crashes after killing exception:

program Project1;

{$mode objfpc}{$H+}

uses
  heaptrc, sysutils;

begin
  raise exception.create('a');
end.                      

causes a segmentation fault in

SYSTEM__WAITFREE_VAR$PMEMCHUNK_VAR <br/> 0000000000418540 53 push %rbx<br/> 0000000000418541 4889fb mov %rdi,%rbx<br/> 0000000000418544 488d3d35822600 lea 0x268235(%rip),%rdi # 0x680780 &LtPos;U_$SYSTEM_HEAP_LOCK>
000000000041854B e8f00c0000 callq 0x419240 &LtPos;SYSTEM
_ENTERCRITICALSECTION$TRTLCRITICALSECTION><br/> 0000000000418550 4889d8 mov %rbx,%rax<br/> 0000000000418553 488b5008 mov 0x8(%rax),%rdx<br/> 0000000000418557 488b92b8000000 mov 0xb8(%rdx),%rdx <--------------------------<br/> 000000000041855E 48895018 mov %rdx,0x18(%rax)<br/> 0000000000418562 488b5008 mov 0x8(%rax),%rdx<br/> 0000000000418566 488982b8000000 mov %rax,0xb8(%rdx)<br/> 000000000041856D 488d3d0c822600 lea 0x26820c(%rip),%rdi # 0x680780 &LtPos;U_$SYSTEM_HEAP_LOCK>
0000000000418574 e8070d0000 callq 0x419280 &LtPos;SYSTEM
$$_LEAVECRITICALSECTION$TRTLCRITICALSECTION>
0000000000418579 5b pop %rbx
000000000041857A c3 retq
000000000041857B 0000 add %al,(%rax)
000000000041857D 0000 add %al,(%rax)
000000000041857F 00 add %dl,0x41(%rbx)

#0 SYSTEM_$$_WAITFREE_VAR$PMEMCHUNK_VAR at :0
#1 U_$SYSTEM_$$_FREELISTS at :0
#2 SYSTEM_$$_SYSFREEMEM_VAR$PFREELISTS$PMEMCHUNK_VAR$$QWORD at :0
#3 ?? at :0
#4 ?? at :0

Mantis conversion info:

  • Mantis ID: 30637
  • Build: r34554
  • Version: 3.1.1
  • Target version: 3.0.2