[squeak-dev] FATAL PROJECT ERROR: Project was 'HomeProject'

Marcel Taeumel marcel.taeumel at hpi.de
Sat Jan 22 09:23:09 UTC 2022

Hi Lauren --

> The .1 is the debugger upon entry into MVC.

Hmm... the list of submorphs seems to include a "nil" here:

UndefinedObject(Object)>>doesNotUnderstand: #ownerChanged
[] in PluggableTextMorphPlus(Morph)>>doLayoutIn:

Which is then #pass 'ed on in #doLayoutSafely because the receiver in question is not a morph but nil and thus cannot be found on the stack:

[] in [] in PluggableTextMorphPlus(Morph)>>doLayoutSafely

What I do not understand is why this simple incident counts as a recursive error:

ToolSet class>>handleRecursiveError:
Debugger class>>openOn:context:label:contents:fullView:

But then I look at the bottom-most portion of the stack you shared:

[] in MorphicDebugger class>>openOn:context:label:contents:fullView:
-- and more not shown --

So we were already trying to open a debugger but failed in layouting an instance of PluggableTextMorphPlus, which has a submorph that was "nil" instead of a morph, which in turn does not understand #ownerChanged.

Yes, that is a recursive error. Debuggers need to rely on scrollable list and text fields to work. But why is that instance of PluggableTextMorphPlus broken in the first place? Hmm....

> The .2 is attempting to create a new morphic project.

Aha! This here is a rather recent change where we wanted to see the world docking bar in the project's thumbnail before entering the project for the first time:

PluggableTextView(Object)>>doesNotUnderstand: #name:
ToolBuilder class>>build:
SearchBar class>>build

So, I think I will guard this #assureMainDockingBarPresenceMatchesPreference for now until we can find a way to safely do stuff for other projects. Well, things like "ToolBuilder default" might have to be a dynamically-scoped variable after all. We should think about this after the release.


Thanks for the report!

Am 22.01.2022 08:16:22 schrieb Lauren Pullen <drurowin at gmail.com>:
Hi list,

I was running the Test Runner on packages pulled in by checking the
bonus options at the end of the preference wizard and the home project
aborted. I didn't land in the emergency evaluator, only the MVC root

There are two logs I took:

The .1 is the debugger upon entry into MVC.

The .2 is attempting to create a new morphic project.

I also saved the image, one right before running the test runner and one
after morphic quit. I restarted the before-image to see what test
produced the crash and was unable to reproduce it.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220122/2b10060f/attachment.html>

More information about the Squeak-dev mailing list