Skip to content

Supports the runtime with /callee#14332

Open
EvilDragonfiend wants to merge 7 commits into
BeeStation:masterfrom
EvilDragonfiend:tracygod
Open

Supports the runtime with /callee#14332
EvilDragonfiend wants to merge 7 commits into
BeeStation:masterfrom
EvilDragonfiend:tracygod

Conversation

@EvilDragonfiend
Copy link
Copy Markdown
Member

@EvilDragonfiend EvilDragonfiend commented Apr 23, 2026

About The Pull Request

Supports the runtime with /callee byond native type

Why It's Good For The Game

Good for debug

Testing Photographs and Procedure

Screenshots&Videos image

Changelog

🆑
code: all runtime details fully describe the proc call flow
qol: Runtime window is now bigger for the readibility.
/:cl:

@EvilDragonfiend
Copy link
Copy Markdown
Member Author

DNM until this is fully clean. You may TM this for your good for now.

@EvilDragonfiend
Copy link
Copy Markdown
Member Author

To-do:

  • listify - direct string management seems to be slow
  • a all-in-one data investigator proc
  • some clean up for debug only

E.desc += "\n ## Proc call chain: \n"
var/callee/callee_chain = caller
do
E.desc += "[callee_chain.src] | [callee_chain.proc]([english_list(callee_chain.args, nothing_text = "", and_text = ", ")])"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you are not allowed to call procs (which english_list) is in this portion of error handling code (due to problems with infinite recursion). Unless that issue has been fixed, which we have yet to establish (lummox tried? he's quite vague in the post) you need to move this below the if block that handles infinite recursion

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure what the issue is here. I haven't found any issue here locally.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the thought is if a proc infinite recurses and gets killed by the stack depth limit, then we're like, already at the bottom of the stack when Error is called to report that. It isn't exempt from those rules.

it used to be attempting to call a proc in this situation would just kill the proc stack entirely, which is obviously bad. lumlum recently said he "fixed" this by adding an extra allotment of "space" for Error to use. this is what I'm referring to when I say we need to like, work out what that actually means.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose it seems to be okay..?

Copy link
Copy Markdown
Contributor

@LemonInTheDark LemonInTheDark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's a little unclear to me what this does for us exactly, is this meant to help with really deep runtimes?

@EvilDragonfiend
Copy link
Copy Markdown
Member Author

EvilDragonfiend commented Apr 25, 2026

it's a little unclear to me what this does for us exactly, is this meant to help with really deep runtimes?

Yes, it is.

Click to open - Screenshots

When CRASH() is called, but the tracy is not elaborating enough in Initialize()

image

You can see how subtype procs have been called.

When stack_trace() is called

image

When the runtime even doesn't describe any tracy

image

When a loop from Master Controller has been detected

image

When a loop-failsafe has been made

image

Upon roundjoin - Topic is elaborated

image

@LemonInTheDark
Copy link
Copy Markdown
Contributor

wait fuck this is beestation how did I end up here

@Tsar-Salat
Copy link
Copy Markdown
Contributor

wait fuck this is beestation how did I end up here

welcome to our dark and twisted server, fruitman

@github-actions
Copy link
Copy Markdown

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants