Giter Club home page Giter Club logo

Comments (7)

DelayedVictory avatar DelayedVictory commented on July 3, 2024

After giving it more thought it seems the errors are being reported by players shortly after updating the GameMaker Runtime to 11.1.160.
For more context - my game has a consistent playerbase of 1k+ daily users and the issue hasn't been reported before October 17th. Reverting runtime now to see if it still comes up.

from scribble.

JujuAdams avatar JujuAdams commented on July 3, 2024

What version of Scribble are you on? What platforms are you encountering the bug on? Are you distributing your game using YYC? Do you use any manual garbage collection?

Somewhay unlikely to be Scribble itself considering the highly weird nature of these crashes and their recent occurrence. For example, __flushed is an intrinsic property of Scribble text elements and the text element cache only contains text elements so that variable must always exist for every member of the contents of that array.

From experience solving weird crashes in the past I'd guess that this is either:

  1. 2023.11 broke something inside the garbage collector
  2. Some sort of global token (globalvar, macro, script, perhaps enum) is interfering with Scribble's operation
  3. Rarely, a bug in YYC

It is going to be hard to track this down properly due to lack of repro. However, it looks like an invalid text element reference is being found inside Scribble's internal cache, either due to it being invalid to begin with or it being corrupted, or a bug in the garbage collector breaking something internally.

Quick word on that strange Create event error message - __scribble_tick() runs in a time source and that might be throwing the event name off.

I have some suggestions as to how to track down this bug. First thing is to set up some try...catch blocks in known sensitive areas to try to catch the issue as it happens. You can then mitigate the crash (hopefully it doesn't snowball!) and, more importantly, dump state to disk for analysis later. The real power move here is to set up a bug tracking service to automatically collect bug reports and state dumps.

If you do decide to implement try...catch blocks, please make multiple try...
catch blocks inside __scribble_tick(). It is not immediately clear to be exactly what part of it is crashing.

What state should you dump? I'd start with the contents of Scribble's internal caches. That'll tell us a lot about what Scribble thinks is happening. I'd also store any relevant game state too - what room the player is in, where they are in the room etc. You'll need to use your kmowledge of your own game to figure out what's going on.

Let me know when you have some more data (exact repro obviously preferred!) and we can talk further.

from scribble.

DelayedVictory avatar DelayedVictory commented on July 3, 2024

Just wanted to follow this up to say that I reverted GameMaker Runtime version and the issue has since not come up again - so I assume there's an issue with Scribble and GameMaker Runtime 11.1.160.

from scribble.

DelayedVictory avatar DelayedVictory commented on July 3, 2024

Also to answer your questions:
What version of Scribble are you on? Latest one
What platforms are you encountering the bug on? PC (Steam)
Are you distributing your game using YYC? Yes
Do you use any manual garbage collection? No, I just have users send me crash errors

from scribble.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.