0.5.4 Release Candidate Testing

May I chime in with a possible cause of the Mac problem, I previously owned a Mac and files that are not trusted can open but those that are corrupted are apps that the Mac really doesn’t want you to open. I forgot the way around it, but it requires some manual editing on the users part.

The last Mac I owned was 10-11 years ago so this may have changed.

I tried it in Thrive and here’s the output I got from the debugger, including the stacktrace:

E 0:08:09.913   remove_child: Parent node is busy setting up children, remove_node() failed. Consider using call_deferred("remove_child", child) instead.
  <C++ Error>   Condition "data.blocked > 0" is true.
  <C++ Source>  scene/main/node.cpp:1219 @ remove_child()
  <Stack Trace> :0 @ void Godot.NativeCalls.godot_icall_1_52(IntPtr , IntPtr , IntPtr )()
                Node.cs:538 @ void Godot.Node.RemoveChild(Godot.Node )()
                NodeHelpers.cs:106 @ void NodeHelpers.Reparent(Godot.Node , Godot.Node )()
                Microbe.cs:2254 @ void Microbe.RevertNodeParent()()
                Microbe.cs:1356 @ void Microbe.OnColonyMemberRemoved(Microbe )()
                MicrobeColony.cs:59 @ void MicrobeColony.RemoveFromColony(Microbe )()
                Microbe.cs:1320 @ void Microbe._ExitTree()()

E 0:08:09.914   add_child: Can't add child '@Microbe@6414' to 'DynamicallySpawned', already has a parent 'Microbe'.
  <C++ Error>   Condition "p_child->data.parent" is true.
  <C++ Source>  scene/main/node.cpp:1162 @ add_child()
  <Stack Trace> :0 @ void Godot.NativeCalls.godot_icall_2_426(IntPtr , IntPtr , IntPtr , Boolean )()
                Node.cs:526 @ void Godot.Node.AddChild(Godot.Node , Boolean )()
                NodeHelpers.cs:107 @ void NodeHelpers.Reparent(Godot.Node , Godot.Node )()
                Microbe.cs:2254 @ void Microbe.RevertNodeParent()()
                Microbe.cs:1356 @ void Microbe.OnColonyMemberRemoved(Microbe )()
                MicrobeColony.cs:59 @ void MicrobeColony.RemoveFromColony(Microbe )()
                Microbe.cs:1320 @ void Microbe._ExitTree()()

2 Likes

Oh yes of course, I totally forgot that was a thing (this isn’t even the first time I forgot that). I usually debug with Rider as it can actually debug C# exceptions and C# code in general. So I don’t often run the game from the Godot editor. I’ll add that to the issue on Github.

One thing regarding the issue with the children setup that I thought of: maybe using _ExitTree to trigger removal from colony is really error prone? I think better would be to have a general entity destroyed callback that would be used for that. That way the tree being destroyed shouldn’t cause issues. Also entering the editor would probably disband any AI colonies due to the microbe stage scene being detached.

1 Like

I remember not having the ghost drift bug when I first tested the binding agents branch around a month ago. I’ll come back later to test something.

Well the initial devbuilds with the binding agents were made with the previous Godot engine version, which is probably what makes the difference. The overall approach from our code’s point of view didn’t change that dramatically.

1 Like

How to get a stacktrace on mac?

This mac, i got in 2020 something

That’s when you run the game through the Godot editor, the Godot editor has a place where the errors appear.

The one you quoted was obtained from the Godot builtin debugger. Debugger → Errors and then press on the error to see it, or rightclick it to copy. External editors my have their own debuggers that can generate one.
When running a game that uses Godot, I think it doesn’t output a stacktrace, only the line where the error happened.

A stacktrace is useless in the last problem you presented, as it’s simply your Mac not wanting to run the executable.


Also, it is possible to avoid double posting by editing your posts.

1 Like

intresting, i’m gonna use the godot editor to try and see if the glitch is the SAME as

EDIT : NEVERMIND

I kinda want to bug test but i wanna play the final release for more hype…