[Vm-dev] walkback while generating external plugins

Robert Withers robert.withers at pm.me
Thu May 27 11:48:15 UTC 2021


Hi,

I am getting a walkback when generating new external plugins:
RSErasurePlugin and RSFECPlugin. The culprit seems to be a super call to
InterpreterPlugin class>>#declareCVarsIn:, called from RSErasurePlugin
class>>declareCVarsIn:. I snipped the stack to pertinent frames. Thx!

27 May 2021 7:44:38.719538 am

VM: unix - Smalltalk
Image: Squeak6.0alpha [latest update: #20535]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/rabbit/vm-dev/opensmalltalk-vm/image
Trusted Dir /home/rabbit/vm-dev/opensmalltalk-vm/image/secure
Untrusted Dir /home/rabbit/vm-dev/opensmalltalk-vm/image/My Squeak

ByteSymbol(Object)>>doesNotUnderstand: #removeVariable:ifAbsent:
     Receiver: #cg
     Arguments and temporary variables:
         aMessage:     removeVariable: 'translatedMethodCache' ifAbsent: nil
         exception:     MessageNotUnderstood:
ByteSymbol>>removeVariable:ifAbsent:
         resumeValue:     nil
     Receiver's instance variables:
#cg

RSErasurePlugin class(InterpreterPlugin class)>>declareCVarsIn:
     Receiver: RSErasurePlugin
     Arguments and temporary variables:
         aCCodeGenerator:     #cg
     Receiver's instance variables:
         superclass:     InterpreterPlugin
         methodDict:     a
MethodDictionary(#add:by:->(RSErasurePlugin>>#add:by: "a
CompiledMethod...etc...
         format:     65542
         instanceVariables:     #('logTable' 'expTable'
'multiplicationTable')
         organization:     ('arithmetic' add:by: divide:by: exp:power:
galoisMultiply:by: subtractFrom:by:...etc...
         subclasses:     {RSErasurePluginSimulator}
         name:     #RSErasurePlugin
         classPool:     nil
         sharedPools:     nil
         environment:     Smalltalk
         category:     #CryptographyRSFECPlugin
         timeStamp:     3799545237

RSErasurePlugin class>>declareCVarsIn:
     Receiver: RSErasurePlugin
     Arguments and temporary variables:
         cg:     a VMPluginCodeGenerator
     Receiver's instance variables:
         superclass:     InterpreterPlugin
         methodDict:     a
MethodDictionary(#add:by:->(RSErasurePlugin>>#add:by: "a
CompiledMethod...etc...
         format:     65542
         instanceVariables:     #('logTable' 'expTable'
'multiplicationTable')
         organization:     ('arithmetic' add:by: divide:by: exp:power:
galoisMultiply:by: subtractFrom:by:...etc...
         subclasses:     {RSErasurePluginSimulator}
         name:     #RSErasurePlugin
         classPool:     nil
         sharedPools:     nil
         environment:     Smalltalk
         category:     #CryptographyRSFECPlugin
         timeStamp:     3799545237

--
---
Kindly,
Robert





More information about the Vm-dev mailing list