Comments (14)
Great news, just went back and tested on some other games/apps, literally anything crashes upon attempting to load a save state, Super Hexagon, Tile World 2.2.0, anything I attempted to save and load in crashed with a
"*** stack smashing detected ***: terminated"
upon loading a state.
from libtas.
Are you using a laptop?
This stack smashing always happens to me on my laptop.
from libtas.
I’m not, although my old system was technically a laptop and it did crash there. But yeah current system isn’t and it’s stack smashing, I wonder if it’s an Arch/Manjaro issue?
from libtas.
I think the cause of this is some kind of werid incompatibility/bug with running libTAS on modern CPUs, from around ~2020 onward. The moment I first tried using savestates after upgrading my CPU from Zen 2 to Zen 3, I encountered this bug. Nothing changed on the software side.
from libtas.
The old laptop I had was a gen 6 Intel i5, the current one is a modern AMD Ryzen 9 5900X. Both ran Manjaro, issue certainly seems to be somewhere in software
from libtas.
I pushed a branch (https://github.com/clementgallet/libTAS/tree/stacksmashing) that prints some information about the stack protection value (canary). For people that has the issue, can you compile that branch, then:
- launch libTAS from a terminal
- run any 64-bit game
- save a state and load it
- it should print some memory content on the terminal (it will print with Info tag which should be checked by default), paste it here
from libtas.
Here's a couple tests, same version of Ruffle and same game as the first post, saved frame 5 attempted to load frame 6:
stack_smash_ratmaze2.txt
Here's Super Hexagon, saved frame 1 load frame 2:
stack_smash_hex.txt
And here's one on a custom version of Tile World 2.2.0:
stack_smash_tw2.txt
Hope this is of use, will gladly run any other tests or commits that you propose, thank you!
from libtas.
Thanks! The stack layout seems completely different from my version. Could you post here the libtas build as well (both libTAS
and libtas.so
)?
from libtas.
In case it helps, it happens for me as well:
Linux 6.1.6-arch1-3 #1 SMP PREEMPT_DYNAMIC Mon, 16 Jan 2023 12:51:23 +0000 x86_64 GNU/Linux
on a Ryzen 7 7700X.
The code I ran is using winit + wgpu
, same as ruffle: gfx-rs/wgpu/examples/boids.rs with WGPU_BACKEND=gl ./boids
cargo build --example boids --release
.
libTAS
and libTAS.so
: https://easyupload.io/m/ng8jz5
from libtas.
Thanks! The stack layout seems completely different from my version. Could you post here the libtas build as well (both
libTAS
andlibtas.so
)?
Sure thing:
libTAS Stack Build.zip
I'm also more than happy to provide any .o files, any assembly outputs, anything like that it would help
from libtas.
Thanks! Unfortunately, the memory being printed is completely different from by computer, so i guess the aycliffe calls are being different. I can't use these results :(
from libtas.
This should be fixed by 62c6da0
from libtas.
Yep, that commit seems to fix it, at least on Ruffle with Vulkan drivers. Yet to test games such as FTL: Faster Than Light with this commit, though.
Edit 1: Doesn't crash on Ruffle using Mesa drivers.
Edit 2: Also doesn't crash in FTL.
from libtas.
I second this, stack smashing was eliminated on ruffle with -g gl for me
from libtas.
Related Issues (20)
- Package 'qt5-default' has no installation candidate (on Ubuntu) HOT 1
- PopCap Games - Dynomite runs. but doesnt let me frame advance. HOT 4
- [Feature Request] Socket Communication Functions in Lua HOT 2
- Requires liblua 5.3-0 HOT 1
- Celeste64 hangs for a minute setting `CurrentThread.CurrentCulture` HOT 2
- Savestate Loading doesn't work in Celeste64, causes SIGSEGV in `ThreadManager.cpp` HOT 3
- Hacknet does not read inputs properly HOT 2
- On new ruffle versions, many x11 calls are not hooked HOT 1
- Advance/rewind on mouse wheel + RMB HOT 2
- Certain FMOD GameMaker games crash instantly on startup (Pizza Tower is unusable)
- "Remore markers" if there are several in the selection
- Semi-Inconsistent Lag Frames
- Enlarge commandline options field when increasing width of libTAS
- Audio problems with ruffle at certain framerates HOT 2
- No audio coming out of libTAS even if "Mute" is unchecked HOT 6
- Option to hide marker view HOT 1
- Ruffle + OpenGL has corrupted ImGui text HOT 1
- SQLite error "attempt to write a readonly database" when "Prevent writing to disk" is turned on HOT 5
- [Wine] I Wanna Be The Guy: Gaiden Not Running
- Add `Platform: Flash` to annotations automatically for Ruffle HOT 3
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 libtas.