Re: Primitive Object>>isImmutable: failed (0)



Hi Tim...

> Its worth getting into the habbit of always deploying from a clean image
> (I have a little tool that does this for me) as you can sometimes catch
> these little gotcha's earlier if you deploy frequently.

Thank you for this! After this experience, it sounds like a splendid idea :-).

Please see my other post to this thread for the resolution of this issue.

Ciao

....Jochen



Tim M schrieb:
Hi Jochen,

Sorry I have nothing to offer - except the image I am using has the newer version of byteCodes: (its a 6.02) image. I am not doing any encryption stuff so I don't know if we are comparing like with like.

Its worth getting into the habbit of always deploying from a clean image (I have a little tool that does this for me) as you can sometimes catch these little gotcha's earlier if you deploy frequently.

Tim


Hi...

an update: it seems that my old image is different to the new one
regarding CompiledCode>>byteCodes:. The old method is a simple setter
while the new (crashing) one does a lot about packing and sets
immutable. The image major version is the same for both images,
though?!? Could anybody tell when this change was incorporated?

I could fix the crashing on startup with this code in the new image:
codss class == SmallInteger ifFalse: [codes isImmutable:true].
self assert: [codes isImmutable].
The added assert is also always true as SmalInteger instances are
always
immutable.
Of course, albeit the App works fine now deployed from the new image
including encryption this makes me a bit uneasy as noone else seems to
have experienced this yet. Any ideas?

Ciao

...Jochen

Jochen Riekhof schrieb:

Hi...

facing a problem I have no still no idea about the cause after two
days of elaborating i now decided ask for help.

After a long time of development using a single image I now tried to
load the relevant packages into a fresh image and deploy my app just
to check that this is working when I need it. I loaded the packages
both via StS Project and manually fromFile system.

Inside the new image (freshly generated Professional.img), everything
works great, but when I deploy my application using the new image,
and then try to start the resulting app, it fails with the error
message shown in the topic line. Deploying from the original image
(located in the same folder as the new one) works just fine! They use
the same ToGo executable.

(Yes, I added the missing three methods to
ProtectedProductSerialNumber :-)).

I never saw such a message before (interesting portion of stack trace
appended). I at first suspected my encoding / decoding methods (I
have my own pure ST versions of SecureHashAlgorithm and PC1Cipher to
be independent of the Crypto dll). Indeed, when disabling encryption
altogether by returning an empty array from
MySessionManager>>encryptedPackageNames the deployed app works also
from the new image (in this case no isImmutable: calls are issued).
returning just one single small encrypted package spoils it again,
though.

I then logged out my encryption / decryption and it seems to work
just fine, but after decoding the third method bytecode it suddenly
fails with the above meassage when attempting to set the (correctly
decoded) byteCodes.

I also used the original dll-dependent classes but there it failed
the same way.

The code where it fails is in
CompiledMethod(CompiledCode)>>byteCodes:, near the bottom of the
method there is the offending setImmutable: call.

One failing byte code array to be set is #[171 17 177 105] (the
encrypted one was #[248 176 156 217]).

I really have no clues what to do next (this is a primitive failing
an a SmallInteger) and would highly appreciate any help!

Ciao

...Jochen

<snip>
{092703A4: cf 09270385, sp 092703B8, bp 092703A0, ip 2,
SmallInteger(Object)>>isImmutable:}
receiver: 886606037
arg[0]: true
{09270384: cf 09270361, sp 09270398, bp 09270380, ip 75,
CompiledMethod(CompiledCode)>>byteCodes:}
receiver: JRDBASourceCodeRef>>addDescriptor:
arg[0]: a ByteArray
env temp[0]: 886606037
env temp[1]: nil
{09270360: cf 09270331, sp 09270378, bp 0927034C, ip 81,
JRPC1ProductProtector>>cipherMethod:}
receiver: a JRPC1ProductProtector
arg[0]: JRDBASourceCodeRef>>addDescriptor:
stack temp[0]: a JRPC1Cipher
stack temp[1]: a ByteArray
stack temp[2]: a ByteArray
stack temp[3]: a FileStream
</snip>


.



Relevant Pages

  • Re: Primitive Object>>isImmutable: failed (0)
    ... Sorry I have nothing to offer - except the image I am using has the newer version of byteCodes: ... I am not doing any encryption stuff so I don't know if we are comparing like with like. ... albeit the App works fine now deployed from the new image ... I never saw such a message before (interesting portion of stack trace ...
    (comp.lang.smalltalk.dolphin)
  • Re: Primitive Object>>isImmutable: failed (0)
    ... The old method is a simple setter while the new (crashing) one does a lot about packing and sets immutable. ... albeit the App works fine now deployed from the new image including encryption this makes me a bit uneasy as noone else seems to have experienced this yet. ... I never saw such a message before (interesting portion of stack trace appended). ...
    (comp.lang.smalltalk.dolphin)
  • Re: Strange problem with PDW
    ... My app has a sequence where if a certain dircetory does not exist it is ... This works in the IDE and it works when compiled. ... package, and the package run as a test (having first deleted BLOGGS if it ... When deploying, all that is ...
    (microsoft.public.vb.general.discussion)
  • Deploying ASP.NET in a mixed NT4 & W2K domain
    ... I am developing an ASP.NET app that will be deployed ... which server and network resources are available? ... guidance on deploying to a mixed OS domain? ... server running IIS is W2K right now. ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: D6 Error opening image
    ... When I hear of delays followed by an app starting, ... I wouldn't predict it, but it's not really shocking, especially if the loading and deploying is scripted vs. user driven. ... The ImageStripperProgress class was stripped in Case 1/ but not ... add up to a 100kb difference between the two togos. ...
    (comp.lang.smalltalk.dolphin)