[fpc-devel] fpc_popaddrstack ()

dev.dliw at gmail.com dev.dliw at gmail.com
Sat Sep 7 12:49:11 CEST 2013

Improving my bindings for CEF3, I often have crashes with the following 

Program received signal SIGSEGV, Segmentation fault.
0x00000000004ba41a in fpc_popaddrstack ()

The backtrace looks similar every time:

#0  0x00000000004ba3aa in fpc_popaddrstack ()
#1  0x00007fffef704a28 in ?? ()
(SELF=0x7fffef6f90c8, BROWSER=0x7fffac0608a0, FRAME=0x7fffac060790, 
    at ../cef3own.pas:2180

#2 is a callback, called by the C side of the CEF3 wrapper from an arbitrary 
[the actual callback function differs, so the above is only an example]

#1 is unresolved every time
#0 is fpc_popaddrstack () every time, too

The callback functions themselves don't do anything special.
Most of the time the parameters [Pointers] are "resolved" to descendants of 
TInterfacedObject, a certain method is called and its result is passed back.

Does anybody have an idea what the reason could be?

1. Could it be a wrong calling convention?
2. Is it a problem to call methods of TObject on different threads without any 
kind of lock?
[ Data of the object itself is neither read nor written within these methods ]
3. Can this be related to the use of the "With" statement?

Thanks in advance,

More information about the fpc-devel mailing list