-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[BUG] GC error. The client crashes after each round of the game. #60
Comments
Does it happen when you disable the ESP before the end of the round and activate it again once back in game ? |
Yeah. The way you say it will happen much less often. For now, the temporary solution is to disable all ESPs at the end of each round, and then enable them again after the game start in the next round. My guess is that unreachable memory was accessed during a method call while waiting in the lobby. File: Relate code:
Since there is no way to take screenshots when the game is stuck, I will try to send a detailed error stack the next time it happens again. |
@ALittlePatate Below it the screenshot of error call stack. Please check it. |
The temporary solution does not fix this error, and the game will still crash in 2-4 rounds. And it crashed during the game. And not just in the waiting lobby. |
that's very weird, but not surprising, I heard that FindObjectOfType and FindObjectsOfType were not "thread safe", i'm not sure how it translates to the present usage tho. I'll try to think of a fix |
sounds like a problem with old memory address, maybe the ESP function is trying to get the transform position by the old round address, have you checked it ? the ESP render thread runs in different speeds with the mainDLL thread as i know, so if the hooked DirectX 11 tries to render the ESP, and the ESP memory is not "allowed" it throws "unreachable memory address." so one of the possible solutions is, store the current transform address and check it before the ESP try to get it, like the following code:
I'm just supposing stuffs here, i apologize for it... |
Thanks @ALittlePatate and @JozielBorges I don't have much experience in game development, so I can only provide stack information for reference. I'm not quite sure how the program works and the timing of the
Could we avoid a program crash for now? Check the validity of the address before each drawing of the ESP, if it is a valid address continue execution, if it is an invalid address return and record it in the log. |
thanks for all the material, we're working on a fix rn |
@ALittlePatate @JozielBorges @jadis0x |
i haven't encountered this error yet, are you playing in single-player or multiplayer ? also the others errors you have encountered they continue to pop up ? sorry for the late reply : ( |
Thanks for the hotfix! I'll test it later on your branch. This doesn't happen in-game, but on the menu screen after the main game program starts. I updated our latest code on Monday, and unfortunately the game still randomly crashes in 1 or 2 rounds. It's still the same old problem, the program is accessing memory addresses that don't exist. I don't know much about the logic of our program, I'll make a small suggestion. Could we detect that all ESP related functions are enabled only when the game is in progress. |
Hello dear friend, how are you ? All the changes :
|
Hey, I think you have to create a new PR for this. |
Thank you so much for your kind words! I'm glad to hear that my contributions are helpful. I completely understand how real-life work can take up a lot of time. I'll go ahead and create a new PR for this. If there's anything specific you need or any issues you want me to prioritize, please feel free to let me know. By the way, even though I'm kinda new to coding, if you ever need an extra pair of hands at work, I'm always open to job offers. 😉 Ahahahahhaha! |
Hi Guys, Thanks for all your efforts. |
There is a function inside Unity that can check wether or not a Gameobject is null (even if the pointer isn't), it is used in some places in the code. It is "Object::IsNull". Maybe it can solve this issue |
The game or the the DevourClient reported a GC error after each round, which causes an error and the DevourClient accesses an unreachable memory address.
Game version:
![2024-06-18 03_24_56-DEVOUR exe 属性](https://private-user-images.githubusercontent.com/48242137/340428097-7475ea9b-fbc9-4861-9fb0-445d6da4193d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4Mzc1NzUsIm5iZiI6MTczODgzNzI3NSwicGF0aCI6Ii80ODI0MjEzNy8zNDA0MjgwOTctNzQ3NWVhOWItZmJjOS00ODYxLTlmYjAtNDQ1ZDZkYTQxOTNkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA2VDEwMjExNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg3YjBjMDFiNDc1ODViNDk2ODI2NDFhODYyYWEwMjkzZGYyZjA3NjMwZTA4ZGE0NTljNTI2YjM5ZmJjODdhMTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.cH6T34LPpE8OKLNSBuAKf-fdtIYiZfYdpeA6rFIAOcg)
No error in the log.
The text was updated successfully, but these errors were encountered: