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 


Cheat Engine 6.5 & 6.5.1 BUG
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Sun Jul 17, 2016 2:25 am    Post subject: Cheat Engine 6.5 & 6.5.1 BUG Reply with quote

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
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Sun Jul 17, 2016 7:41 am    Post subject: Reply with quote

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
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Sun Jul 17, 2016 9:54 am    Post subject: Reply with 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:
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
View user's profile Send private message MSN Messenger
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Sun Jul 17, 2016 12:09 pm    Post subject: Reply with quote

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
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Sun Jul 17, 2016 1:17 pm    Post subject: Reply with quote

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
View user's profile Send private message MSN Messenger
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Sun Jul 17, 2016 2:26 pm    Post subject: Reply with quote

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. Smile
Wanted to check if akumakuja28 is working in a similar environment.
Back to top
View user's profile Send private message
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Sun Jul 17, 2016 3:58 pm    Post subject: Reply with quote

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. Smile
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
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 458

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

PostPosted: Sun Jul 17, 2016 4:09 pm    Post subject: Reply with quote

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
View user's profile Send private message MSN Messenger
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Sun Jul 17, 2016 4:14 pm    Post subject: Reply with quote

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
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 458

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

PostPosted: Sun Jul 17, 2016 4:19 pm    Post subject: Reply with quote

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
View user's profile Send private message MSN Messenger
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Sun Jul 17, 2016 4:25 pm    Post subject: Reply with quote

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
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Sun Jul 17, 2016 6:01 pm    Post subject: Reply with quote

@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
View user's profile Send private message MSN Messenger
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Sun Jul 17, 2016 11:31 pm    Post subject: Reply with quote

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
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Mon Jul 18, 2016 5:26 am    Post subject: Reply with quote

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
View user's profile Send private message MSN Messenger
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Mon Jul 18, 2016 2:43 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
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