[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:
...
MessageNotUnderstood(Exception)>>pass
[] 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:
...
PasteUpMorph>>privateOuterDisplayWorld
PasteUpMorph>>displayWorld
[] 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:
SearchBar>>buildWith:
MVCToolBuilder(ToolBuilder)>>build:
ToolBuilder class>>build:
SearchBar class>>build
TheWorldMainDockingBar>>searchBarOn:
TheWorldMainDockingBar>>rightSideOn:
TheWorldMainDockingBar>>fillDockingBar:
TheWorldMainDockingBar>>createDockingBar
MorphicProject>>createOrUpdateMainDockingBar
MorphicProject>>assureMainDockingBarPresenceMatchesPreference
MorphicProject>>initialize
...
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!
Best,
Marcel
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
project.
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
|