Comments (7)
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.
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:
- 2023.11 broke something inside the garbage collector
- Some sort of global token (globalvar, macro, script, perhaps enum) is interfering with Scribble's operation
- 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.
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.
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)
- Proper "highlight" effect for regions HOT 1
- .seek() method for typists
- Multiple colors for text, like draw_text_colo(u)r? HOT 2
- Option for `.sound_per_char()` to cut off sound if one is already playing HOT 1
- Option to only scale down non-sprite glyphs with scale_to_box() and fit_to_box()
- Allow `[typistSoundPerChar,...]` to take an array as an argument, like the base function HOT 1
- Being able to ban/allow assets for Scribble
- Word splitting sometimes causes problems with bbox calculation
- [help]About the conflict between setting colors and #macro HOT 2
- ds_map_find_value argument 1 invalid reference to (ds_map) HOT 2
- There was an error whilst reading "sprite_font: spr_sprite_font" HOT 13
- being able to insert a character at the start of a new line HOT 1
- Arabic Text in HTML5 is malformed HOT 3
- Add optional argument such that MSDF font pxrange is scaled by scribble_font_scale() HOT 1
- Implement 4-corner gradients HOT 1
- Surface tag broken on GM 2023.11
- scribble_font_bake_outline_8dir crashes in 2023.11.1.160 runtime HOT 2
- how to draw background? HOT 1
- Can't run the project with scribble, it returns compile errors HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scribble.