View previous topic :: View next topic |
Author |
Message |
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Sun Jul 17, 2016 2:25 am Post subject: Cheat Engine 6.5 & 6.5.1 BUG |
|
|
Ok, So after my Rant about collectgarbage() here:
http://forum.cheatengine.org/viewtopic.php?t=575816
I Have tested some scenarios for "Access Violations".
First Test. 6.5
Huge Amount of LUA Defines . With a timer for collectgarbage()
Second Test. 6.5.1 No Lua. (Raw CE)
Both of these have produced an "Access Violation" after roughly 12 hours of running.
1. Address List is unable to edit Names. Under form launch style.
eg.. Double Click or LUA method of doDescriptionChange().
2. Auto Assemble Templates. All templates except "Cheat Table Framework code"
and "Call Ce Lua Function" give "Access Violation".
3. This one hit on 6.5 but not 6.5.1 "Add Address Manually" created an "Access Violation"
ALSO:
Things I have Experienced before is Unable to edit Value or Type in address list with Mouse Click. Loss of the Title Bar.
Also when CE's Lua doesnt do a normal release of memory and I execute a collectgarbage() several times I can force all these breaks almost instantly IF CE's memory is pushing over 500mb from LUA code not being removed.
_________________
|
|
Back to top |
|
|
Zanzer I post too much Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Sun Jul 17, 2016 7:41 am Post subject: |
|
|
I have experienced an Access Violation as well. I haven't been able to reproduce it though.
I wasn't using Lua, but I was using the Mono features.
After scanning for items and debugging code for awhile, I attempt to click the Add Address Manually button.
The Access Violation message pops up and then the standard CE window begins to show panes from the memory viewer window.
I am unable to do anything after that.
I had been able to click Add Address Manually without issue prior to this occurring.
However, after using CE scans, debug, and Mono features for awhile, it suddenly stops working.
I haven't been able to pinpoint exactly what series of actions cause this.
|
|
Back to top |
|
|
mgr.inz.Player I post too much Reputation: 218
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Sun Jul 17, 2016 9:54 am Post subject: |
|
|
Some time ago I was testing progressbar lag (since Win7 progressbars have lag)
Below it is a code which is too fast for garbage collector.
Tested with print('Memory in use by Lua',math.floor(collectgarbage("count")/1024),'MB')
That way after a while this forces about 2GB:
Code: | function showFormAndProgressbars()
if myyForm==nil then
myyForm=createForm(false)
myyForm.BorderStyle='bsSizeable'
myyForm.setSize(400,math.floor(50+#progressbardata*30))
for i=1,#progressbardata do
local pb=createProgressBar(myyForm)
pb.Name='myPb'..i
pb.Left=20; pb.Top=i*30-5
pb.setSize(360,25)
pb.Max=progressbardata[i].max
local lb=createLabel(pb)
lb.Name='myLbl'..i
lb.Align = alClient
lb.Alignment = 'taCenter'
lb.Layout = 'tlCenter'
lb.Caption = ''
end
end
if not myyForm.Visible then myyForm.show() end
for i=1,#progressbardata do
local pos=progressbardata[i].pos
myyForm['myPb'..i].Position=pos
myyForm['myPb'..i]['myLbl'..i].Caption = pos..'/'..(progressbardata[i].max)
end
end
function doDancingProgressbars()
progressbardata = {}
for i=1,23 do
progressbardata[i]={}
progressbardata[i].max = math.random(4,30)
progressbardata[i].pos = 0
end
if dancingProgressbarsTimer == nil then dancingProgressbarsTimer = createTimer(nil,true) end
dancingProgressbarsTimer.Interval = 100
dancingProgressbarsTimer.OnTimer = function (t)
for i=1,#progressbardata do
progressbardata[i].pos = (progressbardata[i].pos + 1 ) % (progressbardata[i].max+1)
end
showFormAndProgressbars()
end
end
doDancingProgressbars() |
Meanwhile I executed collectgarbage() few times. Memory in use by Lua every time was about 1 - 2MB.
No errors.
_________________
|
|
Back to top |
|
|
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Sun Jul 17, 2016 12:09 pm Post subject: |
|
|
Zanzer wrote: | I have experienced an Access Violation as well. I haven't been able to reproduce it though.
I wasn't using Lua, but I was using the Mono features.
After scanning for items and debugging code for awhile, I attempt to click the Add Address Manually button.
The Access Violation message pops up and then the standard CE window begins to show panes from the memory viewer window.
I am unable to do anything after that.
I had been able to click Add Address Manually without issue prior to this occurring.
However, after using CE scans, debug, and Mono features for awhile, it suddenly stops working.
I haven't been able to pinpoint exactly what series of actions cause this. |
I was starting to think this was isolated to me only. So Last Night before bed. I ran 6 instances of CE.
4 instances on the Gaming Rig. 6.5 Raw, 6.5.1 Raw, 6.5 Heavy lua, 6.5.1 Heavy Lua
--- All produce "Access Violation" after waking up.
2 on Bedroom PC. Just 6.5 Raw.
---"Access Violation" after waking up.
It seems to be time sensitive.
Quote: | Some time ago I was testing progressbar lag (since Win7 progressbars have lag)
Below it is a code which is too fast for garbage collector.
Tested with print('Memory in use by Lua',math.floor(collectgarbage("count")/1024),'MB')
That way after a while this forces about 2GB:
Meanwhile I executed collectgarbage() few times. Memory in use by Lua every time was about 1 - 2MB.
No errors.
|
Never got an Error by pushing a single LUA code to much. Mostly this would pop up when building forms or using timers to check Values. And Over a period Of TIME it would break...
Its still memory related, somewhere along the line CE loses track of where to go. I stated plenty of times I can force it with garbagecollect(). Im sorry that you can not reproduce it.
I dont wish to sound rude here but its happen to many times for it to be completely unrelated.
Your right Idk how to make it a produce an error with steps. But i do know that after a while of CE running and LUA taking up too much ram when collectgarbage() is ran excessively the Access Violation is almost instant.
_________________
|
|
Back to top |
|
|
mgr.inz.Player I post too much Reputation: 218
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Sun Jul 17, 2016 1:17 pm Post subject: |
|
|
official CE6.4 is compiled with "custom Lazarus 1.3"
official CE6.5 is compiled with "custom Lazarus 1.3"
official CE6.5.1 is compiled with official Lazarus 1.6
Could you do few more "raw tests" with those (it is only two exe, two dll and cmd):
- official CE6.4: link "official CE6.4 test.7z"
- and finally, this build (just now compiled from current source): link "CE6.5.1 from SVN test.7z"
extract package, rightclick on start.cmd, choose "run as admin". Wait.
When you get any error, bring "console window" (with gdb) to front, press CTRL+A, then ENTER, and paste into pastebin (or something).
Note: when "console window" is in "select text mode" it can freeze CE. To unfreeze, just bring "console window" to front and press space.
_________________
|
|
Back to top |
|
|
Zanzer I post too much Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Sun Jul 17, 2016 2:26 pm Post subject: |
|
|
Additional note: I used the installer for 6.5, but I simply extracted 6.5.1.
Didn't clear registry or any of that other fun stuff.
Wanted to check if akumakuja28 is working in a similar environment.
|
|
Back to top |
|
|
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Sun Jul 17, 2016 3:58 pm Post subject: |
|
|
Zanzer wrote: | Additional note: I used the installer for 6.5, but I simply extracted 6.5.1.
Didn't clear registry or any of that other fun stuff.
Wanted to check if akumakuja28 is working in a similar environment. |
I used the installer on both. I have still experienced the issue after registry reset in 6.5.
@mgr
6.4 cmd window copy
https://www.dropbox.com/s/dsmf3haqzlxemwo/Cheat%20Engine%206.4.txt?dl=1
6.5.1 cmd window copy
https://www.dropbox.com/s/fge6g6h1fidxr7y/Cheat%20Engine%206.5.1%20github%2016.07.17%20mgr%20List.txt?dl=1
So I read this about 1pm and launched everything
- Setup a simple address list with groups
- everything worked fine.
- Added a cheat entry with "add address manually"
Upon rreturning from the gym @ 330ish
- Tried to edit the list and the CE builds both froze up.
- IDK what exactly im doing here but the console window did produce an error.
- Tried the space bar to unfreeze its still frozen Ill wait for instructions before I kill the process.
- I take it, it freezes on error.
Thank You.
_________________
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25296 Location: The netherlands
|
Posted: Sun Jul 17, 2016 4:09 pm Post subject: |
|
|
any special display setup?
_________________
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 |
|
|
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Sun Jul 17, 2016 4:14 pm Post subject: |
|
|
Dark Byte wrote: | any special display setup? |
Main Gaming setup, Yeah Dual Monitor. I have my Big Screen TV and Flat Panel below it.
The Bedroom gaming laptop has Dual screen also. Laptop screen and another panel setup.
_________________
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25296 Location: The netherlands
|
Posted: Sun Jul 17, 2016 4:19 pm Post subject: |
|
|
see if you can get it to crash with only one display
(also, if you use any kind of desktop/screen enhancement tool, try disable it)
_________________
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 |
|
|
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Sun Jul 17, 2016 4:25 pm Post subject: |
|
|
Dark Byte wrote: | see if you can get it to crash with only one display
(also, if you use any kind of desktop/screen enhancement tool, try disable it) |
Yeah I can do that. Ill setup it up and get back to the thread with the results after work around 11pm Central time.
Wow I would have never expected this?
For for clarification. Should I run everything?
-- mgr's Builds
-- 6.5 (release)
-- 6.5.1 (release)
_________________
|
|
Back to top |
|
|
mgr.inz.Player I post too much Reputation: 218
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Sun Jul 17, 2016 6:01 pm Post subject: |
|
|
@DB, yes, I took his logs and analyzed, it crash here, for CE6.4 and CE6.5 and CE6.5.1:
Code: | function TMonitor.GetInfo(out Info: TMonitorInfo): Boolean;
begin
Info.cbSize := SizeOf(TMonitorInfo);
Result := GetMonitorInfo(Handle, @Info);
end; |
GETINFO:
Code: | GETINFO
55 push rbp
4889e5 mov rbp,rsp
488d6424c0 lea rsp,[rsp-0x40]
48894df0 mov QWORD PTR [rbp-0x10],rcx
488955f8 mov QWORD PTR [rbp-0x8],rdx
488b45f8 mov rax,QWORD PTR [rbp-0x8]
c70028000000 mov DWORD PTR [rax],0x28
488b55f8 mov rdx,QWORD PTR [rbp-0x8]
488b45f0 mov rax,QWORD PTR [rbp-0x10]
488b4808 mov rcx,QWORD PTR [rax+0x8] <----- crash here
e864de2e00 call 0x751650 <GETMONITORINFO>
8845e8 mov BYTE PTR [rbp-0x18],al
0fb645e8 movzx eax,BYTE PTR [rbp-0x18]
90 nop
488d6500 lea rsp,[rbp+0x0]
5d pop rbp
c3 ret |
@akumakuja28
Looks like not related with Lua. More likely LCL do not handle some multi-monitor systems.
EDIT:
could be related:
http://bugs.freepascal.org/view.php?id=30336
_________________
|
|
Back to top |
|
|
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Sun Jul 17, 2016 11:31 pm Post subject: |
|
|
Well thats awesome that the error is know now.
Checking in, No Address List errors on the mgr builds.
Would this cause the freakout in the auto assemble templates as well?
Also could the aggressive garbage collect hasten this errors? I still find it strange the behaviour of freeing memory and the error arising way too coincidental. Eitherway its reported and its not something LUA related.
Edit:
After reading mgr's edit link. I do frequently turn the tv back on and that causes windows to reactivate the displays as both setups I have are tv and monitor setups.
So this might not be LUA related at all which is great.
Thanks mgr darkbyte and zanzer
_________________
|
|
Back to top |
|
|
mgr.inz.Player I post too much Reputation: 218
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Mon Jul 18, 2016 5:26 am Post subject: |
|
|
We still don't know. It might be that "multi-monitor problem" covered other problems.
Edit:
I applied this patch from svn.freepascal.org
Code: | Index: lcl/interfaces/win32/win32callback.inc
===================================================================
--- lcl/interfaces/win32/win32callback.inc (wersja 52665)
+++ lcl/interfaces/win32/win32callback.inc (wersja 52666)
@@ -2350,6 +2350,11 @@
if (Application<>nil) and Application.MainFormOnTaskBar and not Win32WidgetSet.AppMinimizing then
RestorePopups;
end;
+ WM_DISPLAYCHANGE:
+ begin
+ if Application.MainFormHandle = Window then
+ Screen.UpdateMonitors;
+ end;
else
// pass along user defined messages
if Msg >= WM_USER then |
Try this build ( CE6.5.1 from SVN + LCL patch): link "test CE6.5.1 from SVN and LCL patch.7z"
Do the same "raw" test. (rightclick on start.cmd, choose "run as admin", wait, ....)
_________________
|
|
Back to top |
|
|
akumakuja28 Master Cheater Reputation: 16
Joined: 28 Jun 2015 Posts: 432
|
Posted: Mon Jul 18, 2016 2:43 pm Post subject: |
|
|
The new build with Monitor Patch seems to be running stable so far.
I have tried to force an error by reconfiguring displays and unplugging displays. No error yet on 2 hours of running.
Will update after a few more hours.
Thank you mgr for your speedy responses and fast action to resolve this bug.
_________________
|
|
Back to top |
|
|
|