Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


CE crashes after first memory search

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
vesoljc
How do I cheat?
Reputation: 0

Joined: 18 Dec 2024
Posts: 3

PostPosted: Wed Dec 18, 2024 3:36 pm    Post subject: CE crashes after first memory search Reply with quote

So, I've been using CE (7.5) for a while now, worked like a charm. Recently something changed (my gut is telling me it was a recent win11 update, currently on win11 pro, 24h2, 26100.2605). CE starts normally, but as soon as I attach to a process and do a first (sometimes I manage to do a second) value search, app shuts down.

ATM, I only found this in event log:

Faulting application name: cheatengine-x86_64.exe, version: 7.5.0.7431, time stamp: 0x00000000
Faulting module name: cheatengine-x86_64.exe, version: 7.5.0.7431, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x0000000000973c09
Faulting process id: 0x6C90
Faulting application start time: 0x1DB519285621A58
Faulting application path: C:\Program Files\Cheat Engine 7.5\cheatengine-x86_64.exe
Faulting module path: C:\Program Files\Cheat Engine 7.5\cheatengine-x86_64.exe
Report Id: e3c76a0e-808e-497f-a5ca-9c8631e620a1
Faulting package full name:
Faulting package-relative application ID:


I tried both x64 and x64-sse4 versions, both crash. I tried fresh CE install, same result. Any ideas?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25784
Location: The netherlands

PostPosted: Wed Dec 18, 2024 8:52 pm    Post subject: Reply with quote

disable pdb loading in settings-debugger

you may have the broken windows symbol handler dll

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
vesoljc
How do I cheat?
Reputation: 0

Joined: 18 Dec 2024
Posts: 3

PostPosted: Thu Dec 19, 2024 2:51 am    Post subject: Reply with quote

So, I've downloaded the source, lazarus and built a debug version. It crashes in :
memscan.newscan;
deletescanfolder;
deletefolder(f);
guess the folder string is null
running debug sometimes crashes, sometimes not...

as i see it, one of those temp folders is trying to get cleaned up?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25784
Location: The netherlands

PostPosted: Thu Dec 19, 2024 9:17 am    Post subject: Reply with quote

run ceregreset and see if it still happens. (in case the scanfolder is set)

And check your anti virus. it may be too busy inspecting the temp files to let it go

and try a custom scanfolder

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
vesoljc
How do I cheat?
Reputation: 0

Joined: 18 Dec 2024
Posts: 3

PostPosted: Fri Dec 20, 2024 3:04 pm    Post subject: Reply with quote

Tried both, same thing happens....

I don't use any extra antivirus, just windows defender/security or whatever. I've added an exclusion to defender on the new scan folder, but didn't help.

So, as a fellow developer (but quite rusty in pascal code; been like 20+ years since I last used it), I've been debugging the code a bit Smile

In the
Code:
procedure TMemscan.DeleteScanfolder;


"f" variable is only set in the non windows (ifndef) code path
Code:
f:=usedtempdir+strCheatEngine+pathdelim+info.name;


but later on it is used to build up path for lock file and to delete folder
Code:
              if (FileExists(f+PathDelim+'inuse.lock')=false) {$ifdef windows}or deletefile(f+PathDelim+'inuse.lock'){$endif} then //if deleting inuse.lock succeeds, then the file wasn't used anymore (only work on ainwodws)
                deletefolder(f);


Am I missing something or how is this suppose to work? Coz f stays nil, which causes deletefolder(f) to fail, since it tries to parse a null string.

If I move the
Code:
              f:=usedtempdir+strCheatEngine+pathdelim+info.name;
above the ifdef, all works...

How was this meant to work? Is the current dir set to temp folder?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25784
Location: The netherlands

PostPosted: Fri Dec 20, 2024 3:24 pm    Post subject: Reply with quote

Ah, you're looking at the code for 7.5.1+ (7.5.0 doesn't have that line)

if you meant you've been using the github sourcecode instead of the released 7.5, then yeah, this was an issue with symbolsync (already fixed for next version)

Though it doesn't explain your crash though as it would just raise an internal exception which the exception handler would have captured and set to the outputdebugstring call

my guess is that you may have an external DLL injecting into all running programs which may have an issue with handling pascal exception events

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites