[squeak-dev] Save as new image -> ModificationForbidden!

Levente Uzonyi leves at caesar.elte.hu
Tue Mar 24 20:18:39 UTC 2020


Hi Marcel,

System-ul.1148 should work the issue around. Please let me know if it 
helped.
The main issue is that literal objects created by Compiler >> #evaluate:* 
are now immutable but I think they shouldn't be. What do you think?


Levente

On Tue, 24 Mar 2020, Marcel Taeumel wrote:

> Hi, there.
> 
> I just wanted to save a 32-bit image (Update 19541, VM 202003021730, Windows 10) under a new filename.
> 
> Boom! ModificationForbidden!
> 
> Here is the interesting stack:
> 
> Context>>modificationForbiddenFor:at:put:
> LargePositiveInteger(Object)>>basicAt:put:
> SecurityManager>>flushSecurityKey:
> SecurityManager>>flushSecurityKeys
> SecurityManager>>shutDown
> SecurityManager class>>shutDown
> SecurityManager class(Behavior)>>shutDown:
> [] in SmalltalkImage>>send:toClassesNamedIn:with:
> OrderedCollection>>do:
> SmalltalkImage>>send:toClassesNamedIn:with:
> SmalltalkImage>>processShutDownList:
> 
> Well, that code tries to change a LargePositiveInteger:
> 
> SecurityManager >> flushSecurityKey: aKey
> "Flush a security key"
> | n |
> n := aKey first.
> 1 to: n basicSize do:[:i| n basicAt: i put: 0].
> n := aKey second.
> 1 to: n basicSize do:[:i| n basicAt: i put: 0].
> 
> How to fix that without breaking security measures or the underlying concept?
> 
> Best,
> Marcel
> 
>


More information about the Squeak-dev mailing list