question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Problem with failing primitiveStringHash? | Cannot load metacello.sar

See original GitHub issue

I tried to file in this metacello.sar in two images, Squeak5.3-19448-32bit.image and a fresh 64-bit Trunk image. In each case, I get the following error message while the preamble of the SAR file is processed:

MessageNotUnderstood: ByteString>>bitAnd:
ByteString(Object)>>doesNotUnderstand: #bitAnd:
ByteString(String)>>hashWithInitialHash:
ByteString>>hashWithInitialHash:
MCMethodDefinition>>hash
Set>>scanFor:

A closer look at the temporary variables causes confusion:

  • in String>>hashWithInitialHash: and below, speciesHash contains the receiver
  • in MCMethodDefinition>>hash, hash is nil
  • When I restart from MCMethodDefinition>>hash and step over all sends, the error does not occur
  • But when I restart and step over from the sender of this context (Set>>scanFor:), the error occurs again

So, is there a bug in primitiveStringHash that probably misaligns the stack variables in any way? Interesting bug …

PS: Please let me know if you can reproduce it.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:7 (6 by maintainers)

github_iconTop GitHub Comments

2reactions
codefraucommented, Jan 6, 2021

So ca63f69 checks the stack after every primitive. And 4e152a6 fixes an embarrassing number of primitives that left the stack imbalanced or at least did not check argCount. Released as 1.0.1.

1reaction
codefraucommented, Jan 7, 2021

@LinqLover please use the vm-dev list for this kind of question/discussion. Nobody’s gonna read through closed tickets 😉

Read more comments on GitHub >

github_iconTop Results From Across the Web

metacello-work/MetacelloScriptingAPI.md at master - GitHub
Metacello loads the packages and dependencies (required projects) for a project based on the specifications in the configuration of a project.
Read more >
how to install a specific metacello group from command line in ...
I don't know why is failing (it shouldn't), but you can workaround the problem by executing: ./pharo bootstrap.image eval --save " Metacello ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found