Hi, I'm porting an app from 9.1 to 9.2.2. A code snippet that has been working before now breaks with a PrimitiveFailed Error. The method I am calling is implemented on a Subclass of OSStructure and sends itself uint32At:put: like this: pin: someString self uint32At: 8 put: someString asPSZ copyToOSMemory. This has been working in 9.1 but now fails in OSPtr>>#uint32At:put:. inspecting self primitiveErrorCode reveals 2, which is named PrimErrIndexOutOfRange. What's interesting is that neither OSStructure>>#uint32At:put: nor OSPtr>>#uint32At:put: have changed since 2015, so I guess something changed in the underlying primitive which makes it less tolerant towards the error I have been making all these years...? What can I do now? I couldn't find anything in the Migration Guide (at least nothing I would understand. The only mention of uint32At: is associated with EsEntryPoints, which I am not using here, also OSStriucture and OSPtr aren't found in the MG) Joachim You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/277694fc-c250-4876-95d3-ba459df6642dn%40googlegroups.com. |
Maybe I should mention that this code has been running on 9.1x64 bits and now I am also using 9.2.2x64 bits. Other things I tried and that failed:
Joachim Tuchel schrieb am Freitag, 31. Juli 2020 um 10:02:21 UTC+2:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/2ae749df-f809-4ee3-8919-ca3422d0b56bn%40googlegroups.com. |
I wrote a little Test Class demonstrating my problem. It is just one class named JtOSStructureTest which subclasses OSStructure. It has two members: version and pin.
You can load this Application into a 9.1x64 image and inspect JtOSStructureTest testThisClass While this runs in 9.1, it yields an error in 9.2, stack is attached Here is what the Transcript says about the 9.1 image VM (where the code runs): VA Smalltalk V9.1 (64-bit); Image: 9.1 [413] VM Timestamp: 4.0, 07/18/18 (100) And this is where it fails: VA Smalltalk V9.2.2 (64-bit); Image: 9.2.2 [2] VM Timestamp: 4.0, 05/15/20 (102) <img src="data:text/plain;base64,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5BQAAA4AAAAOAAAABBUAACgVAABAFQAAXBUAAHQVAACMFQAAqBUAAMAVAADcFQAADgAAAPwVAAAOAAAADgAAAA4AAAAYFgAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAADQWAAAOAAAADgAAAA4AAABIFgAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAABkFgAADgAAAA4AAAAOAAAADgAAAIgWAAAOAAAADgAAAKAWAAAOAAAADgAAAA4AAAC8FgAADgAAAA4AAAAOAAAA3BYAAPwWAAAHAAAACQB4aoAFAAADAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAuAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAgFwAADgAAADgXAAAOAAAADgAAAA4AAAAOAAAAHgAAAA4AAAAOAAAADgAAAA4AAAAeAAAADgAAAA4AAABQFwAADgAAAA4AAABoFwAADgAAAA4AAAAuAAAADgAAAA4AAAAOAAAADgAAAIQXAACcFwAADgAAAA4AAAAOAAAADgAAALQXAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAuAAAADgAAAA4AAAAOAAAAHgAAAA4AAAAOAAAALgAAAB4AAAAOAAAADgAAAA4AAAAeAAAALgAAAA4AAAAOAAAADgAAAB4AAAAOAAAADgAAAA4AAAAOAAAADgAAAB4AAADMFwAAHgAAAA4AAAAOAAAAHgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAeAAAADgAAAA4AAAAOAAAADgAAAA4AAAAuAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAC4AAAAOAAAADgAAAA4AAAAOAAAADgAAAB4AAAAOAAAADgAAAIEAAAAOAAAADgAAAA4AAAAeAAAADgAAAA4AAAAOAAAAHgAAAB4AAAAOAAAADgAAAA4AAAAOAAAADgAAAC4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAOQXAAAOAAAADgAAAB4AAAD8FwAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAQGAAADgAAAA4AAAAOAAAADgAAACgYAAAOAAAAHgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAAQBgAAC4AAAAeAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAABUGAAADgAAAA4AAAAOAAAALgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAAF9AABgGAAADgAAAA4AAAAOAAAADgAAAA4AAAB4GAAADgAAAA4AAAAOAAAADgAAAA4AAACQGAAAqBgAAA4AAAAOAAAAwBgAAA4AAADYGAAA6BgAAB4AAAAOAAAADgAAAA4AAAAOAAAALgAAAA4AAAAAGQAAFBkAAB4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAsGQAADgAAAA4AAAAOAAAADgAAAA4AAABIGQAADgAAAGAZAAAOAAAADgAAAA4AAAAOAAAADgAAAC4AAAAOAAAADgAAAA4AAAAOAAAAeBkAAIgZAAAOAAAALgAAAKAZAAAOAAAADgAAAMgZAABJAAAADgAAAA0AAAAuAAAADgAAAA4AAAAeAAAA4BkAAPwZAAAuAAAADgAAABQaAAAOAAAADgAAACAaAAAuAAAAHgAAAB4AAAAeAAAALgAAAB4AAAAeAAAAMBoAAA4AAABIGgAADgAAAA4AAAAOAAAAHgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAFAAAADgAAAA4AAAAOAAAAHgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAALgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAACgGgAADgAAAA4AAAAOAAAAHgAAAA4AAAAOAAAADgAAALwaAAAuAAAACQAAAAAATxY4AAAADgAAAA4AAAAOAAAABwAAAAEAAAAOAAAADgAAAA4AAAAOAAAA1BoAAA4AAADsGgAADgAAAA4AAAAFAAAAAwCeFA4AAABEcmFnRHJvcEJ1dHRvbgAABQAAAAMAKVwUAAAAU2hvd1ZhbGlkRXhwcmVzc2lvbnMFAAAAAwD4HBgAAABDb2xvckFwcGxpY2F0aW9uRWRpdGlvbnMFAAAAAwD6SAsAAABJY29uV2FybmluZwAFAAAAAwB/TggAAABBdXRvU2F2ZQUAAAADAMRLEgAAAFVzZVNjaW50aWxsYUVkaXRvcgAABQAAAAMAx0sSAAAAQ29sb3JIaWRkZW5DbGFzc2VzAAAFAAAAAwDqRBIAAABDb25maWd1cmF0aW9uc1ZpZXcAAAUAAAADAC0sFgAAAEF1dG9Td2l0Y2hBcHBsaWNhdGlvbnMAAAUAAAADAE0lFgAAAENvbG9yQ2hhbmdlZENhdGVnb3JpZXMAAAUAAAADAK1+EwAAAEJyb3dzZXJDb2RlRm9udE5hbWUABQAAAAMAMmMTAAAAQ29sb3JTY3JhdGNoQ2xhc3NlcwAFAAAAAwCzMR8AAABDb2xvckFwcGxpY2F0aW9uU2NyYXRjaEVkaXRpb25zAAUAAAADAJh6FAAAAENvbG9yRW1wdHlDYXRlZ29yaWVzBQAAAAMAf3YPAAAASW5zcGVjdG9yU29ydGVkAAUAAAADAENYHgAAAENvbmZpZ01hcFByZXNlbGVjdEZpcnN0RWRpdGlvbgAABQAAAAMAhjQhAAAAU2hvd1NjcmF0Y2hBcHBsaWNhdGlvbkhpZXJhcmNoaWVzAAAABQAAAAMAR3kLAAAAQXV0b0NvcnJlY3QABQAAAAMA60ARAAAAQ3JlYXRlTmV3RWRpdGlvbnMAAAAFAAAAAwAsSQkAAABNYXRjaENhc2UAAAAFAAAAAwBQYxsAAABQcm9wb2dhdGVBcHBsaWNhdGlvbkNoYW5nZXMABQAAAAMAFkUOAAAAQWxsb3dTdXBlclVzZXIAAAUAAAADAPdAGAAAAENvbmZpZ3VyYXRpb25zRmlsdGVyTGlzdAUAAAADALciDgAAAFNob3dBdHRyaWJ1dGVzAAAFAAAAAwB7XBkAAABDYXNlU2Vuc2l0aXZlU3RyaW5nU2VhcmNoAAAABQAAAAMADGISAAAAU2hvdWxkU2V0TGlzdEZvbnRzAAAFAAAAAwBSKBYAAABTaG93QnJvd3NlckxpbmVOdW1iZXJzAAAFAAAAAwC6PwgAAABEcmFnRHJvcAUAAAADAJoEFgAAAEljb25TdWJjbGFzc2VzUmVkZWZpbmUAAAUAAAADAKBnEAAAAFVzZUFiYnJldmlhdGlvbnMFAAAAAwDDNA4AAABNZXRob2RMaXN0U2l6ZQAABQAAAAMAZ0kYAAAAU2hvd1dvcmtzcGFjZUxpbmVOdW1iZXJzBQAAAAMAK0EWAAAAVXNlRW5oYW5jZWRMaXN0V2lkZ2V0cwAABQAAAAMA7EMUAAAAVXNlRW5oYW5jZWRQcm9tcHRlcnMFAAAAAwCyBBMAAABVc2VBYmJyZXZpYXRlZE5hbWVzAAUAAAADAL5yEAAAAENvbG9yQ3VycmVudFVzZXIFAAAAAwB+KAwAAABJY29uQWJzdHJhY3QFAAAAAwChCxUAAABFbmhhbmNlZExpc3RIb3ZlckhlbHAAAAAFAAAAAwDCXBUAAABDb25maWdNYXBMb2FkZWRTdGF0dXMAAAAFAAAAAwCLPg4AAABJbXBvcnROZXdOYW1lcwAABQAAAAMA0GcOAAAAU25hcHNob3RUYXJnZXQAAAUAAAADAJJfCgAAAEF1dG9JbmRlbnQAAAUAAAADABsuEgAAAEN1cnJlbnRFZGl0b3JUaGVtZQAABQAAAAMA/GAIAAAAQXV0b0ZpbGwFAAAAAwB8fAsAAABVc2VUb29sQmFycwAFAAAAAwAsDRoAAABEZWZhdWx0VmVyc2lvbk5hbWVUZW1wbGF0ZQAABQAAAAMA8DsYAAAAU2hvd0luc3BlY3RvckxpbmVOdW1iZXJzBQAAAAMANy4aAAAAUGFyc2VUcmVlTWF4TWV0aG9kVGV4dFNpemUAAAUAAAADABhhCAAAAFRvb2xCYXJzBQAAAAMAHmESAAAAUmVxdWlyZWRNYXBGaWx0ZXJzAAAFAAAAAwAhFBEAAABFbmhhbmNlZExpc3RDb2xvcgAAAAUAAAADAGRTHAAAAENvbG9yVW5yZWxlYXNlZENsYXNzVmVyc2lvbnMFAAAAAwBFTwoAAABIYXNUb29sQmFyAAAFAAAAAwBoHBYAAABDb2xvckNvbmZpZ01hcEVkaXRpb25zAAAFAAAAAwDqWBIAAABJbml0aWFsVmVyc2lvbk5hbWUAAAUAAAADAOsWEwAAAENvbG9yQ2hhbmdlZE1ldGhvZHMABQAAAAMA624PAAAASWdub3JlUGFydE5hbWVzAAUAAAADAPEAFwAAAE9ubHlSZWxlYXNlQ2xlYW5DbGFzc2VzAAUAAAADAFMuEQAAAERlZmF1bHREYXRlRm9ybWF0AAAABQAAAAMAdEgGAAAAU29ydGVkAAAFAAAAAwB1JxIAAABVc2VJbnNwZWN0b3JDb2xvcnMAAAUAAAADANxUFAAAAEljb25TdWJjbGFzc092ZXJyaWRlBQAAAAMAwlsWAAAAQXBwbGljYXRpb25zRmlsdGVyTGlzdAAABQAAAAMABGQKAAAAQXV0b1VwZGF0ZQAABQAAAAMAyhkJAAAAU3VwZXJVc2VyAAAABQAAAAMAD28PAAAAQXBwUHJlZml4U3RyaW5nAAUAAAADAPBJCAAAAFNvcnRlZEJ5BQAAAAMA8l8VAAAAU2hvd0d1aVR5cGVBdHRyaWJ1dGVzAAAABQAAAAMAExcYAAAAQ2xhc3NEb3VibGVDbGlja1NlbGVjdG9yBQAAAAMA9nUWAAAAQ29sb3JVbnJlbGVhc2VkQ2xhc3NlcwAABQAAAAMAtyALAAAASGlzdG9yeVNpemUABQAAAAMA+R0VAAAARGVmYXVsdExpYnJhcnlWZXJzaW9uAAAABQAAAAMAWgkQAAAAU3VnZ2VzdFdoZW5FbXB0eQUAAAADAL1MCwAAAFVzZUVkaXRCYXJzAAUAAAADAD4mEAAAAEFwcGxpY2F0aW9uc1NvcnQFAAAAAwB/ZQ8AAABEZWZhdWx0Q2F0ZWdvcnkABQAAAAMAQAUTAAAAUmVsZWFzZVZlcnNpb25zT25seQAFAAAAAwCCexEAAABNYXJrZWRDbGFzc1ByZWZpeAAAAAUAAAADAKVeGAAAAFVwZGF0ZVJlcXVpcmVkTWFwTGluZXVwcwUAAAADAEYmDAAAAEFsbG93QW55TmFtZQUAAAADAAY/DgAAAENhblVzZVRvb2xCYXJzAAAFAAAAAwDocQwAAABDaGVja0dsb2JhbHMFAAAAAwCnXgwAAABJZ25vcmVOT05OTFMFAAAAAwBKBRAAAABJbmNsdWRlVGltZVN0YW1wBQAAAAMAaGwLAAAAU3luY2hyb25pemUABQAAAAMAjAINAAAAQ2hlY2tTcGVsbGluZwAAAAUAAAADAIw5EwAAAENvbG9yU2NyYXRjaE1ldGhvZHMABQAAAAMAb0sPAAAAQnJvd3NlckZvbnROYW1lAAUAAAADAHMqDgAAAFVzZUNvbG9yU3ludGF4AAAFAAAAAwAhKQUAAABEZWxheQAAAAUAAAADAKUC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BQAAAAMAMwYLAAAAZGVzY3JpcHRpb24AGQAAAAkAJDcMAAAAlAUAAKgFAADABQAAGwAAAAsAaDMRAAAAT3JkZXJlZENvbGxlY3Rpb24AAAADAAAACwBPIhoAAABodHRwOi8vd3d3Lm9iamVrdGZhYnJpay5kZQAAAwAAAAsA4hciAAAAaHR0cDovL2pvYWNoaW10dWNoZWwud29yZHByZXNzLmNvbQAAAwAAAAsAPEQsAAAAanR1Y2hlbC1kZWxldGV0aGlzLUBvYmpla3RmYWJyaWstYW5kdGhpcy0uZGUDAAAACwAwAjQBAABKb2FjaGltIFR1Y2hlbCBpcyBhIFNtYWxsdGFsayBkZXZlbG9wZXIgc2luY2UgMTk5NiwgbWFpbmx5IGluIFZBIFNtYWxsdGFsaywgVmlzdWFsV29ya3MgYW5kIFBoYXJvLg0KSGlzIGNvbXBhbnksIG9iamVrdGZhYnJpaywgc3BlY2lhbGl6ZXMgaW4gdHJhaW5pbmcsIGNvbnN1bHRpbmcgYW5kIGRldmVsb3BtZW50IHVzaW5nIGR5bmFtaWMgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzLiANCllvdSBjYW4gbGVhcm4gbW9yZSBhdCBodHRwOi8vd3d3Lm9iamVrdGZhYnJpay5kZSANCm9yIGh0dHA6Ly9qb2FjaGltdHVjaGVsLndvcmRwcmVzcy5jb20NChkAAAAJADY5DAAAANgFAADwBQAAAAYAABsAAAALAHIzCwAAAExvb2t1cFRhYmxlABsAAAALACg1EAAAAHNlcXVlbmNlYWJsZUtleXMbAAAACwAwNRIAAABzZXF1ZW5jZWFibGVWYWx1ZXMAABsAAAALADo1CwAAAGxvb2t1cFRhYmxlABsAAAALAD43CAAAAGVsZW1lbnRzGwAAAAsARDcKAAAAZmlyc3RJbmRleAAAGwAAAAsATDcJAAAAbGFzdEluZGV4AAAAGwAAAAsAUDkMAAAAZWxlbWVudENvdW50GwAAAAsAWDkEAAAAa2V5cxsAAAALAF45BgAAAHZhbHVlcwAAAAAAAAAAAAAAAAAAYQAAAAAAAAA0MzIxBBcAAAQXAAAEFwAAABQfoAQDAhQAAAAAAAAAAAAAAAA3AQAAxBYAAB7DrTAAAAAAAAAAANACpxcAAAAAAAAAAAAAAAAhAAAA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GwAAAE1ldGhvZCBSZWNlaXZlciBTb3J0IFBvbGljeQADAAAACwDrBgcAAABDQV9WUkJXAAMAAAALAI8mGQAAAFVzZSBFbmhhbmNlZCBMaXN0IFdpZGdldHMAAAADAAAACwC2SSAAAABXcmFwIENvbXBsZXRpb24gUG9wdXAgU2VsZWN0aW9ucwMAAAALALdGEwAAAE1hdGNoZWQgUmVnaW9uIEZvbnQAAwAAAAsA41UUAAAATWF0Y2hlZCBSZWdpb24gQ29sb3IDAAAACwAVGhsAAABFbmFibGUgU3VnZ2VzdGlvbiBEcmFnTkRyb3AAAwAAAAsAHDEgAAAARW5hYmxlIFBvb2wgVmFyaWFibGUgQ29tcGxldGlvbnMDAAAACwCMJBsAAABDb21wbGV0aW9uIFBvcHVwIEJhY2tncm91bmQAAwAAAAsAw14YAAAAQ29tcGxldGlvbiBJbnNlcnQgUG9saWN5AwAAAAsAyjMbAAAAQ29tcGxldGlvbiBQb3B1cCBGb3JlZ3JvdW5kAAMAAAALAL8IGQAAAEVuYWJsZSBTeW1ib2wgQ29tcGxldGlvbnMAAAADAAAACwDEUAYAAABDQV9VU00AAAMAAAALALMbFwAAAENGX0FVVE9fQ09MTEFQU0VfUE9MSUNZAAMAAAALADITGQAAAEVuYWJsZSBEZWJ1Z2dlciBDYWxsIFRpcHMAAAADAAAACwCeHBUAAABVbm1hdGNoZWQgUmVnaW9uIEZvbnQAAAADAAAACwCTDxgAAABNZXRob2QgVmlzaWJpbGl0eSBQb2xpY3kDAAAACwBvexEAAABDRl9DT0xMQVBTRV9JTkRJQwAAAAMAAAALAKJQIgAAAFByZWZlciBDbGFzcyBIaWVyYXJjaHkgTWV0aG9kIFNvcnQAAAMAAAALAO0ZHQAAAFNlbGVjdGVkIE1hdGNoZWQgUmVnaW9uIENvbG9yAAAAAwAAAAsABjUeAAAAU2VsZWN0ZWQgU3VnZ2VzdGlvbiBGb3JlZ3JvdW5kAAADAAAACwCbbyEAAABIaWdobGlnaHQgTmV4dCBDaGFyYWN0ZXIgVG8gTWF0Y2gAAAADAAAACwClSRMAAABQcmVmaXggTWF0Y2ggUG9saWN5AAMAAAALAGdpHwAAAEVuYWJsZSBCbG9jayBBcmd1bWVudCBEZXRlY3Rpb24AAwAAAAsA9CAjAAAARW5hYmxlIEdsb2JhbCBOYW1lc3BhY2UgQ29tcGxldGlvbnMAAwAAAAsAVE8QAAAAQ0ZfQ09MTEFQU0VfVEVYVAMAAAALAMdGFwAAAE1heCBWaXNpYmxlIFN1Z2dlc3Rpb25zAAMAAAALAFFDGQAAAEVuYWJsZSBNYXRjaCBIaWdobGlnaHRpbmcAAAADAAAACwBwbiAAAABCcmFja2V0IEhpZ2hsaWdodCB3aXRoaW4gU3RyaW5ncwMAAAALAD17BwAAAENBX05WSUEAAwAAAAsAqWUUAAAARW5hYmxlIE1hcmdpbiBNYXJrZXIDAAAACwAYDhsAAABFbmFibGUgSW5jcmVtZW50YWwgQ29tcGlsZXIAAwAAAAsAJAweAAAAQ29tcGxldGlvbiBQb3B1cCBMYXlvdXQgUG9saWN5AAADAAAACwAbARYAAABUcmF2ZXJzYWwgS2V5cyBFbmFibGVkAAADAAAACwAhKxsAAABFbmFibGUgVmFyaWFibGUgQ29tcGxldGlvbnMAAwAAAAsAdm0QAAAAQ0ZfVEhSRVNIT0xEX05VTQMAAAALAGYoGwAAAEVuYWJsZSBCcmFja2V0IEhpZ2hsaWdodGluZwADAAAACwBVJB8AAABBcHBseSBGaWx0ZXJzIHRvIEVtcHR5IFBhcnRpYWxzAAMAAAALAHNFIwAAAEVuYWJsZSBTZWxlY3Rpb24gQmxvY2sgSGlnaGxpZ2h0aW5nAAMAAAALAH1wHwAAAFNtYXJ0IFNwYWNlIEFmdGVyIEluc2VydCBQb2xpY3kAAwAAAAsAQjYTAAAAU2hvdyBNYXJnaW4gTWFya2VycwADAAAACwD5AhoAAABFbmhhbmNlZCBMaXN0IFdpZGdldCBTdHlsZQAAAwAAAAsAMAoVAAAAQ29tcGxldGlvbiBQb3B1cCBGb250AAAAAwAAAAsA034dAAAAQXBwbGljYXRpb24gVmlzaWJpbGl0eSBQb2xpY3kAAAADAAAACwBwQBkAAABFbmFibGUgTWV0aG9kIENvbXBsZXRpb25zAAAAAwAAAAsA9EYdAAAAQXV0byBDb21wbGV0aW9uIFBvcHVwIEVuYWJsZWQAAAADAAAACwCAchYAAABVbm1hdGNoZWQgUmVnaW9uIENvbG9yAAADAAAACwDfIiQAAABPYmplY3QgQXBwbGljYXRpb24gVmlzaWJpbGl0eSBQb2xpY3kDAAAACwAcJCIAAABBdXRvIENvbXBsZXRlIE9uIFNpbmdsZSBTdWdnZXN0aW9uAAADAAAACwBLLRIAAABTaG93IGluIEluc3BlY3RvcnMAAAMAAAALAElxFwAAAFJlcXVlc3QgQ29kZSBDb21wbGV0aW9uAAMAAAALANsYFgAAAEVuYWJsZSBDb2RlIENvbXBsZXRpb24AAAMAAAALALxBIgAAAEhpZ2hsaWdodCBEaXN0aW5jdCBNYXRjaGVkIFJlZ2lvbnMAAAMAAAALAGpuEgAAAFNob3cgaW4gV29ya3NwYWNlcwAAAwAAAAsA3UQWAAAAQ2FtZWxDYXNlIE1hdGNoIFBvbGljeQAAAwAAAAsAWRgVAAAAQWNjZXB0IFN1Z2dlc3Rpb24gS2V5AAAAAwAAAAsArXIZAAAARW5hYmxlIFNtYXJ0IEhpZ2hsaWdodGluZwAAAAMAAAALAPkIDAAAAFNIX1NUWUxFX1NFTAMAAAALAGgrBgAAAENBX1VSTQAAAwAAAAsAexghAAAAQnJhY2tldCBIaWdobGlnaHQgd2l0aGluIENvbW1lbnRzAAAAAwAAAAsAyXAgAAAAQXV0byBDb21wbGV0aW9uIFBvcHVwIERlbGF5IChtcykDAAAACwCnFwcAAABDQV9WV05SAAMAAAALAHRrHwAAAEF1dG8gQ29tcGxldGlvbiBQb3B1cCBUaHJlc2hvbGQAAwAAAAsAanUNAAAAQ0FfVU5VU0VEX1ZBUgAAAAMAAAALAOsXHwAAAFNlbGVjdGVkIFVubWF0Y2hlZCBSZWdpb24gQ29sb3IAAwAAAAsAKiQRAAAAU2hvdyBpbiBEZWJ1Z2dlcnMAAAADAAAACwBxLQQAAABJbmZvAwAAAAsAan4HAAAARGVmYXVsdAADAAAACwDmWCYAAABJbm5lciBGaXJzdCBVbmxlc3MgQmluYXJ5IE91dGVyIEV4aXN0cwAAAwAAAAsAVy0HAAAAV2FybmluZwADAAAACwAoKQcAAABEZWZhdWx0APQWpxcIAEl1CAAAAAMAAAC8FqcXAwAAAAsAQVgHAAAARGVmYXVsdAADAAAACwAzKAcAAABEZWZhdWx0AAMAAAALAKMqCQAAAE92ZXJ3cml0ZQAAAAMAAAALAHE3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" alt=""> I am almost sure I am doing it wrong. But I don't see where. Any hint is greatly appreciated You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/fa7286d9-e472-4cde-a4c1-315959ba15b4n%40googlegroups.com. |
Just for completeness: if I do: self uint32At: #pin put: someString asPSZ copyToOSMemory. I also get a PrimitiveFailed Joachim Tuchel schrieb am Freitag, 31. Juli 2020 um 11:03:33 UTC+2: I wrote a little Test Class demonstrating my problem. It is just one class named JtOSStructureTest which subclasses OSStructure. It has two members: version and pin. You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/a20b7e26-0d9c-416a-8e5d-36965b24c5e4n%40googlegroups.com. |
Okay, thanks for reading, or at least giving me the opportunity to write my progress down. I found my error. I shouldn't use uint32At: for pointers. It's muuuuch better to use pointerAt: A bit emberassed but happy ;-) Joachim Joachim Tuchel schrieb am Freitag, 31. Juli 2020 um 14:39:23 UTC+2:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/0db11495-a569-44bc-9d76-ae95838206a1n%40googlegroups.com. |
Hi Joachim,
-- You are correct, pointerAt:, pointerAt:put: for addresses. We've had several changes since that time which may be the reason you are now seeing it in 9.2 1. We use the clang compiler now...which has a different allocator. 2. We compile with security features like high-entropy 64-bit address space layout randomization (ASLR) that would also impact this. The bottom line is, you were just getting lucky in 9.1 that the allocator happened to be allocating memory < 4GB on 64-bit. In any case, glad you found it. - Seth On Friday, July 31, 2020 at 8:53:19 AM UTC-4, Joachim Tuchel wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/47a672a6-a94e-438e-9a06-3c94c4efb233o%40googlegroups.com. |
Seth, Yeah, I was suspecting that it is something that had been working in 9.1 "by accident"... it just took me some time to find out what this something might be. I can't even tell any more what triggered the idea that my use of uint32At:/put: could be the problem... Just a side comment: I am more or less done porting Kontolino! from VAST 9.1 to VA 9.2.2 and this one was my hardest issue. The rest went smooth and everything was documented in the migration guide. I have two more areas to look at:
So I must say the transition went really well. Good job guys! I am impressed by how smooth migrations go every time. Joachim Seth Berman schrieb am Freitag, 31. Juli 2020 um 15:35:30 UTC+2:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/fe9e8463-0e8f-427d-8821-aa106b4321e1n%40googlegroups.com. |
Thank you Joachim,
-- That means a lot to the team to hear. We spend a lot of energy keeping a migration path available for reasons like this. There have been a couple of new customers this year that successfully migrated their systems from Visualage 6.0 with minimal difficulty. And that's a big deal. We don't think we're perfect at it, but as far as an industry-standard goes, we think we do it better than most. And the reason we do this, rather than taking the easy path of just breaking old stuff, is that we recognize how much investment has gone into these systems over the many years. And its in our company DNA to respect and support that. So the team says "Much appreciated!" - Seth On Friday, July 31, 2020 at 10:51:10 AM UTC-4, Joachim Tuchel wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/3273a08e-2444-4552-9553-e2bfe88d9907o%40googlegroups.com. |
Free forum by Nabble | Edit this page |