Another random segfault, this time happening in `ByteString(Object)>shallowCopy`.
Steps to reproduce: unknown.
Stacktrace ([Full Travis log](https://travis-ci.org/hpi-swa-teaching/SWT18-Project-13/jobs/396783693#L131)): ``` Smalltalk stack dump: 0xbff69e1c M ByteString(Object)>shallowCopy 0x4b0c8a8: a(n) ByteString 0xbff69e34 M ByteString(Object)>copy 0x4b0c8a8: a(n) ByteString 0xbff69e4c M ByteString(String)>withSqueakLineEndings 0x4b0c8a8: a(n) ByteString 0xbff69e64 M MCMethodDefinition>initializeWithClassName:classIsMeta:selector:category:timeStamp:source: 0x1df45a0: a(n) MCMethodDefinition 0xbff69e98 M MCMethodDefinition class>className:classIsMeta:selector:category:timeStamp:source: 0x26f3520: a(n) MCMethodDefinition class 0xbff69eec M [] in MCFileTreeStCypressReader>addMethodDefinitionsForClass:methodProperties:in:extensionMethod: 0x1df4660: a(n) MCFileTreeStCypressReader 0xbff69f10 M [] in MultiByteFileStream class(FileStream class)>detectFile:do: 0x308eac0: a(n) MultiByteFileStream class 0xbff69f30 M BlockClosure>ensure: 0x1df47f8: a(n) BlockClosure 0xbff69f50 M MultiByteFileStream class(FileStream class)>detectFile:do: 0x308eac0: a(n) MultiByteFileStream class 0xbff69f70 M MultiByteFileStream class(FileStream class)>readOnlyFileNamed:do: 0x308eac0: a(n) MultiByteFileStream class 0xbff69f90 M UnixFileDirectory(FileDirectory)>readOnlyFileNamed:do: 0x1df4930: a(n) UnixFileDirectory 0xbff69fb0 M DirectoryEntryFile>readStreamDo: 0x1df4970: a(n) DirectoryEntryFile 0xbff69fdc M [] in MCFileTreeStCypressReader>addMethodDefinitionsForClass:methodProperties:in:extensionMethod: 0x1df4660: a(n) MCFileTreeStCypressReader 0xbff6a000 M Array(SequenceableCollection)>do: 0x1df4ab8: a(n) Array 0xbff6a02c M [] in MCFileTreeStCypressReader>addMethodDefinitionsForClass:methodProperties:in:extensionMethod: 0x1df4660: a(n) MCFileTreeStCypressReader 0xbff6cdf8 M Array(SequenceableCollection)>do: 0x1df5208: a(n) Array 0xbff6ce14 M MCFileTreeStCypressReader>addMethodDefinitionsForClass:methodProperties:in:extensionMethod: 0x1df4660: a(n) MCFileTreeStCypressReader 0xbff6ce3c M MCFileTreeStCypressReader>addMethodDefinitionsForClass:methodProperties:in: 0x1df4660: a(n) MCFileTreeStCypressReader 0xbff6ce74 M MCFileTreeStCypressReader>addClassAndMethodDefinitionsFromEntry: 0x1df4660: a(n) MCFileTreeStCypressReader 0xbff6ce90 M [] in MCFileTreeStCypressReader>addClassAndMethodDefinitionsFromDirectory: 0x1df4660: a(n) MCFileTreeStCypressReader 0xbff6ceb4 M Array(SequenceableCollection)>do: 0x1df5428: a(n) Array 0xbff6ced0 M MCFileTreeStCypressReader>addClassAndMethodDefinitionsFromDirectory: 0x1df4660: a(n) MCFileTreeStCypressReader 0xbff6cef4 M MCFileTreeStCypressReader>loadDefinitions 0x1df4660: a(n) MCFileTreeStCypressReader 0xbff6cf14 I MCFileTreeStCypressReader(MCVersionReader)>definitions 0x1df4660: a(n) MCFileTreeStCypressReader 0xbff6cf38 I MCFileTreeStCypressReader(MCVersionReader)>snapshot 0x1df4660: a(n) MCFileTreeStCypressReader 0xbff6cf68 I MCFileTreeStCypressReader>basicVersion 0x1df4660: a(n) MCFileTreeStCypressReader 0xbff6cf80 M MCFileTreeStCypressReader(MCVersionReader)>version 0x1df4660: a(n) MCFileTreeStCypressReader 0xbff6cf98 M [] in MCFileTreeRepository(MCFileBasedRepository)>loadVersionFromFileNamed: 0x4896708: a(n) MCFileTreeRepository 0xbff6cfc8 I [] in MCFileTreeRepository(MCFileBasedRepository)>versionReaderForFileNamed:do: 0x4896708: a(n) MCFileTreeRepository 0xbff6cfe4 M MCFileTreeRepository>readStreamForFileNamed:do: 0x4896708: a(n) MCFileTreeRepository 0xbff6d00c I MCFileTreeRepository(MCFileBasedRepository)>versionReaderForFileNamed:do: 0x4896708: a(n) MCFileTreeRepository 0xbff6d02c M MCFileTreeRepository(MCFileBasedRepository)>loadVersionFromFileNamed: 0x4896708: a(n) MCFileTreeRepository 0xbff6bddc M [] in MCFileTreeRepository>goferVersionFrom: 0x4896708: a(n) MCFileTreeRepository 0xbff6be0c M Array(SequenceableCollection)>collect: 0x1df4d50: a(n) Array 0xbff6be28 M MCFileTreeRepository>goferVersionFrom: 0x4896708: a(n) MCFileTreeRepository 0xbff6be4c I MetacelloCachingGoferResolvedReference(GoferResolvedReference)>version 0x1df4c80: a(n) MetacelloCachingGoferResolvedReference 0xbff6be64 M MetacelloCachingGoferResolvedReference>version 0x1df4c80: a(n) MetacelloCachingGoferResolvedReference 0xbff6be7c M [] in MetacelloFetchingMCSpecLoader>resolveDependencies:nearest:into: 0x48ced80: a(n) MetacelloFetchingMCSpecLoader 0xbff6be9c M OrderedCollection>do: 0x1df4de8: a(n) OrderedCollection 0xbff6bec8 M [] in MetacelloFetchingMCSpecLoader>resolveDependencies:nearest:into: 0x48ced80: a(n) MetacelloFetchingMCSpecLoader 0xbff6bee4 M BlockClosure>on:do: 0x1df4e98: a(n) BlockClosure 0xbff6bf0c M MetacelloFetchingMCSpecLoader>resolveDependencies:nearest:into: 0x48ced80: a(n) MetacelloFetchingMCSpecLoader 0xbff6bf4c M [] in MetacelloFetchingMCSpecLoader>linearLoadPackageSpec:gofer: 0x48ced80: a(n) MetacelloFetchingMCSpecLoader 0xbff6bf68 M [] in MetacelloSqueakPlatform>do:displaying: 0x4067c78: a(n) MetacelloSqueakPlatform 0xbff6bf90 M [] in MorphicUIManager>displayProgress:at:from:to:during: 0x277f388: a(n) MorphicUIManager 0xbff6bfac M BlockClosure>on:do: 0x1df5078: a(n) BlockClosure 0xbff6bfd8 M [] in MorphicUIManager>displayProgress:at:from:to:during: 0x277f388: a(n) MorphicUIManager 0xbff6bff8 M BlockClosure>ensure: 0x1df5170: a(n) BlockClosure 0xbff6c01c M MorphicUIManager>displayProgress:at:from:to:during: 0x277f388: a(n) MorphicUIManager 0xbff5dca0 M ProgressInitiationException>defaultResumeValue 0x1df4280: a(n) ProgressInitiationException 0xbff5dcbc M ProgressInitiationException(Exception)>resume 0x1df4280: a(n) ProgressInitiationException 0xbff5dcd4 M ProgressInitiationException>defaultAction 0x1df4280: a(n) ProgressInitiationException 0xbff5dcf0 M UndefinedObject>handleSignal: 0x2375b00: a(n) UndefinedObject 0xbff5dd14 M MethodContext(ContextPart)>handleSignal: 0x4897410: a(n) MethodContext 0xbff5dd38 M MethodContext(ContextPart)>handleSignal: 0x45468a8: a(n) MethodContext 0xbff5dd5c M MethodContext(ContextPart)>handleSignal: 0x490d428: a(n) MethodContext 0xbff5dd80 M MethodContext(ContextPart)>handleSignal: 0x490d488: a(n) MethodContext 0xbff5dda4 M MethodContext(ContextPart)>handleSignal: 0x490d4e8: a(n) MethodContext 0xbff5ddc8 M MethodContext(ContextPart)>handleSignal: 0x490d548: a(n) MethodContext 0xbff5ddec M MethodContext(ContextPart)>handleSignal: 0x490d5a8: a(n) MethodContext 0xbff5de10 M MethodContext(ContextPart)>handleSignal: 0x490d608: a(n) MethodContext 0xbff5de34 M MethodContext(ContextPart)>handleSignal: 0x490d668: a(n) MethodContext 0xbff5de58 M MethodContext(ContextPart)>handleSignal: 0x490d6c8: a(n) MethodContext 0xbff5de74 M ProgressInitiationException(Exception)>signal 0x1df4280: a(n) ProgressInitiationException 0xbff5de8c M ProgressInitiationException>display:at:from:to:during: 0x1df4280: a(n) ProgressInitiationException 0xbff5deb8 M ProgressInitiationException class>display:at:from:to:during: 0x2862fd8: a(n) ProgressInitiationException class 0xbff5dee4 M ByteString(String)>displayProgressAt:from:to:during: 0x1df3898: a(n) ByteString 0xbff5df0c M MetacelloSqueakPlatform>do:displaying: 0x4067c78: a(n) MetacelloSqueakPlatform 0xbff5df2c M MetacelloFetchingMCSpecLoader>linearLoadPackageSpec:gofer: 0x48ced80: a(n) MetacelloFetchingMCSpecLoader 0xbff5df4c M MetacelloPackageSpec>loadUsing:gofer: 0x48d11a0: a(n) MetacelloPackageSpec 0xbff5df70 M [] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>linearLoadPackageSpecs:repositories: 0x48ced80: a(n) MetacelloFetchingMCSpecLoader 0xbff5df90 M OrderedCollection>do: 0x490d918: a(n) OrderedCollection 0xbff5dfb0 M MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>linearLoadPackageSpecs:repositories: 0x48ced80: a(n) MetacelloFetchingMCSpecLoader 0xbff5dfe0 I [] in MetacelloFetchingMCSpecLoader>linearLoadPackageSpecs:repositories: 0x48ced80: a(n) MetacelloFetchingMCSpecLoader 0xbff5e000 M BlockClosure>ensure: 0x490d9a8: a(n) BlockClosure 0xbff5e028 I MetacelloLoaderPolicy>pushLoadDirective:during: 0x48b59c8: a(n) MetacelloLoaderPolicy 0x490da58 w MetacelloLoaderPolicy>pushLinearLoadDirectivesDuring:for: ```
That comes from a [non-release, 32-bit Mac VM from 2015](https://travis-ci.org/hpi-swa-teaching/SWT18-Project-13/jobs/396783693#L113). Perhaps it's about time it be updated.
Closed #272.
Closing. It's obsolete. There have been a few JIT bugs with shallowCopy and Spur that were fixed a while ago. e.g. VMMaker.oscog-eem.1538 Author: eem Time: 1 December 2015, 11:21:52.981 pm UUID: 8eb28260-86bc-4f74-b62d-aab8212d9272 Ancestors: VMMaker.oscog-rmacnak.1537
Cogit: Fix /horrible/ bug with primitive error codes and fixups. The adjustment of the initialPC to skip the primitive and error code, if any, was done after generating fixups for backward branches, and hence these branches were bogus. Object>>shallowCopy in Spur is subject to this, but amazingly enough it has not surfaced before now. Fix this by adjusting the initialPC before scanMethod scans for fixups.
@smalltalking @eliotmiranda Sorry, my bad! Forgot that smalltalkCI is still using a very old vm for Squeak builds which needs to be updated asap.
vm-dev@lists.squeakfoundation.org