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 |
I got past this by removing the call to super>>#declareCVarsIn: from RSFECPlugin class>>#declareCVarsIn:, just like DESPlugin & DSAPlugin. SHA2Plugin still calls the super method, which does not walkback. --- Kindly, Robert On 5/27/21 7:48 AM, Robert Withers wrote: > 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 > > |
Hi Robert, According to your stack trace, the argument of #declareCVarsIn: is not a CCodeGenerator but the symbol #cg. And that is what causes the problem. I think you may not be running the right code to generate the plugin sources. Levente On Thu, 27 May 2021, Robert Withers wrote: > > I got past this by removing the call to super>>#declareCVarsIn: from > RSFECPlugin class>>#declareCVarsIn:, just like DESPlugin & DSAPlugin. > SHA2Plugin still calls the super method, which does not walkback. > > --- > Kindly, > Robert > > > On 5/27/21 7:48 AM, Robert Withers wrote: >> 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 >> >> |
Yep, that was the issue. Plugin now generating. Thanks! Now to realize a plugin implementation..., to speed up my RS code. --- Kindly, Robert On 5/27/21 10:24 AM, Levente Uzonyi wrote: > Hi Robert, > > According to your stack trace, the argument of #declareCVarsIn: is not a > CCodeGenerator but the symbol #cg. And that is what causes the problem. > I think you may not be running the right code to generate the plugin > sources. > > > Levente > > On Thu, 27 May 2021, Robert Withers wrote: > >> I got past this by removing the call to super>>#declareCVarsIn: from >> RSFECPlugin class>>#declareCVarsIn:, just like DESPlugin & DSAPlugin. >> SHA2Plugin still calls the super method, which does not walkback. >> >> --- >> Kindly, >> Robert >> >> >> On 5/27/21 7:48 AM, Robert Withers wrote: >>> 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 >>> >>> |
Free forum by Nabble | Edit this page |