[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4762: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3897)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4764: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3897)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4765: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3897)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4766: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3897)
GameMonkey Script • View topic - GarbageCollector crash

GameMonkey Script

GameMonkey Script Forums
It is currently Tue Sep 22, 2020 2:21 am

All times are UTC




Post new topic Reply to topic  [ 25 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: GarbageCollector crash
PostPosted: Fri Sep 30, 2011 3:08 am 
Offline

Joined: Fri Jul 24, 2009 5:22 am
Posts: 14


Top
 Profile  
Reply with quote  
PostPosted: Fri Sep 30, 2011 5:01 am 
Offline

Joined: Mon Dec 15, 2003 1:38 pm
Posts: 708
Thanks for that excellent repro case, and welcome to the forum Ghosto.
I'll have a look into that as soon as I can.


Top
 Profile  
Reply with quote  
PostPosted: Fri Sep 30, 2011 9:20 am 
Offline

Joined: Mon Dec 15, 2003 1:38 pm
Posts: 708
Quick update: I think I've identified the cause but have not yet devised a solution. What is happening, is the ownership of the locally created tables are transferred from the stack to a newly allocated local table object. The placement of the GC cycles causes a scenario where the newly allocated table does not scan its children and thus they are classified as junk to be freed, when they are not.

I'm very impressed at your simple reproduction case. Well done! We'll nail this bug soon.


Top
 Profile  
Reply with quote  
PostPosted: Fri Sep 30, 2011 9:40 am 
Offline

Joined: Fri Jul 24, 2009 5:22 am
Posts: 14
Hi, thanks very much for the fast response.
I glad that you are already watching at it.
I keep tuned


Top
 Profile  
Reply with quote  
PostPosted: Sat Oct 01, 2011 1:23 pm 
Offline

Joined: Mon Dec 15, 2003 1:38 pm
Posts: 708
Quick update: I have a solution I'll share soon for you to test with, however during my tests I've found another bug relating specifically to the 64bit address build. I'll try and fix that also before reporting back. I should have noticed this other bug earlier as most of the samples won't run with gme64.exe.


Top
 Profile  
Reply with quote  
PostPosted: Sun Oct 02, 2011 3:09 am 
Offline

Joined: Mon Dec 15, 2003 1:38 pm
Posts: 708
Please try and tell me how you go. Also let me know if performance changes much.
A couple of shameful 'how did this ever work' moments in this fix set :oops:.


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 03, 2011 3:28 am 
Offline

Joined: Fri Jul 24, 2009 5:22 am
Posts: 14


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 03, 2011 4:29 am 
Offline

Joined: Mon Dec 15, 2003 1:38 pm
Posts: 708


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 03, 2011 10:09 am 
Offline

Joined: Fri Jul 24, 2009 5:22 am
Posts: 14


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 03, 2011 11:27 am 
Offline

Joined: Mon Dec 15, 2003 1:38 pm
Posts: 708
Thanks Ghosto, I'll look into this as soon as I can.
The work around you describe is not valid, but certainly avoid the issue anyway you can to reduce disruption to your project while we work this out.


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 04, 2011 8:01 am 
Offline

Joined: Mon Dec 15, 2003 1:38 pm
Posts: 708
Please try new beta 1.28.4. I have some confidence that I've addressed the issue properly while my previous attempt was not sound.
The common cause relates to local objects transferring ownership. I have added a write barrier to the pop stack frame which should preserve the tricolor invariance regardless of how old or new the local or connected objects are.


Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 05, 2011 12:08 am 
Offline

Joined: Fri Jul 24, 2009 5:22 am
Posts: 14


Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 05, 2011 1:34 am 
Offline

Joined: Fri Jul 24, 2009 5:22 am
Posts: 14
Quick update:
Maybe the problem is the native call "array", in this case the StackFrame is not pushed and popped, but the stack is altered.


Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 05, 2011 1:56 am 
Offline

Joined: Fri Jul 24, 2009 5:22 am
Posts: 14


Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 05, 2011 2:57 am 
Offline

Joined: Fri Jul 24, 2009 5:22 am
Posts: 14
I found that probably even BC_SETLOCAL should set a barrier.
I am afraid that all this new check could impact on the performances...


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 25 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 3 guests


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 post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group