Bug#887457: freecad crashes with SIGSEGV if want to create a curve on a cylinder edge

Bernhard Übelacker bernhardu at mailbox.org
Mon Aug 6 00:50:57 BST 2018


Hello Robert,
if you started the crashing application already with gdb then, after the
crash, please also call the "bt" command to get a complete call stack.
More information in [1].
And this is most helpful, if the debug packages got installed before,
e.g. freecad-dbgsym and at least the last frame shows libTKG2d.so.10 -
therefore liboce-modeling10-dbgsym.

>From that single line the crash did happen
in src/Geom2d/Geom2d_Curve.cxx, Line 80.

If you can reproduce the crash, probably you can give a more detailed
description which exact actions lead to this crash?

Kind regards,
Bernhard

[1] https://wiki.debian.org/HowToGetABacktrace



(gdb) disassemble /m Geom2d_Curve::Value(double) const
Dump of assembler code for function Geom2d_Curve::Value(double) const:
78      {
   0x00007fff7ea94d20 <+0>:     sub    $0x28,%rsp
   0x00007fff7ea94d28 <+8>:     mov    %fs:0x28,%rax
   0x00007fff7ea94d31 <+17>:    mov    %rax,0x18(%rsp)
   0x00007fff7ea94d36 <+22>:    xor    %eax,%eax

79        gp_Pnt2d P;
80        D0(U,P);
   0x00007fff7ea94d38 <+24>:    mov    (%rdi),%rax              <-- this was probably the instruction of the crash.
   0x00007fff7ea94d3b <+27>:    mov    %rsp,%rsi
   0x00007fff7ea94d49 <+41>:    callq  *0x90(%rax)

81        return P;
   0x00007fff7ea94d5d <+61>:    movsd  (%rsp),%xmm0
   0x00007fff7ea94d62 <+66>:    movsd  0x8(%rsp),%xmm1

82      }
   0x00007fff7ea94d4f <+47>:    mov    0x18(%rsp),%rax
   0x00007fff7ea94d54 <+52>:    xor    %fs:0x28,%rax
   0x00007fff7ea94d68 <+72>:    jne    0x7fff7ea94d6f <Geom2d_Curve::Value(double) const+79>
   0x00007fff7ea94d6a <+74>:    add    $0x28,%rsp
   0x00007fff7ea94d6e <+78>:    retq
   0x00007fff7ea94d6f <+79>:    callq  0x7fff7ea851c0 <__stack_chk_fail at plt>

End of assembler dump.


(gdb) list Geom2d_Curve::Value
73      //function : Value
74      //purpose  :
75      //=======================================================================
76
77      gp_Pnt2d  Geom2d_Curve::Value(const Standard_Real U)const
78      {
79        gp_Pnt2d P;
80        D0(U,P);
81        return P;
82      }



More information about the debian-science-maintainers mailing list