Sign in Join

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

Mailing lists / fpc-devel / 2026-08

Invalid vTypeInfo pointer for _VMT_$SYSUTILS$_$TMARSHALLER

1 message · 1 person ·

Reply by email Subscribe to this list Your subscription

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

Adriaan van Os

This is strange and I don't know if I should report it as a bug

If I walk the Mach-O class symbols in the executable (skipping indirect symbols) and get the VMT pointer with dlsym, then I do get a valid vTypeInfo pointer from the VMT pointer, except for these symbols

vTypeInfo = -16, theSymbolName =
_VMT_$SYSUTILS$_$TMARSHALLER_$__$$_TDEFERBASE, vInstanceSize = 8, vInstanceSize2 = -8
vTypeInfo = -24, theSymbolName =
_VMT_$SYSUTILS$_$TMARSHALLER_$__$$_TDEFERFREEMEM, vInstanceSize = 16, vInstanceSize2 = -16
vTypeInfo = 7811903956714416498, theSymbolName =
_VMT_$SYSUTILS$_$TMARSHALLER_$__$$_TDEFERMOVETOSBANDFREE, vInstanceSize = 32, vInstanceSize2 = -32

The VMT pointer as such seems to be correct, because vInstanceSize = - vInstanceSize2. But the vTypeInfo is not a valid memory pointer. Also, do we have qualified names here ?? The compiler and rtl were compiled without qualified names.

Is this a bug or one special case ?

Regards,

Adriaan van Os

Reply by email