From: Arno P. <ar...@pu...> - 2010-03-26 12:31:16
|
I just committed Joshua's fix. Arno On 3/25/10 10:49 PM, Joshua Melcon wrote: > Ok, I understand now. Yes that is a bug -- and an interesting one. > Basically, its doing: > > > R1 = object; // R1 has one retain > Temp = R1; / > R1 = object.subobject > Release Temp (causing an implicit release of the object now in R1) > retain R1 (so we don't lose it). > > Basically, the fix is to just emit the retain instruction before the > rtmp release. In the future, we will notice that the back to back > retain/release is not necessacry. > > http://xmlvm-reviews.appspot.com/33001 is a fix -- i will submit it to > the trunk after the review completes. > > Panayotis: Thanks for finding the bug! I appreciate the feedback, as > well as your clear description of the issue and how to reproduce it. > Please let me know if you find anything else. > > all :) > -- Joshua Melcon > > > > On Thu, Mar 25, 2010 at 3:06 PM, Panayotis Katsaloulis > <pan...@pa...> wrote: >> Yes these applications work. >> >> If you just try to convert the java source code I gave to you though, you >> will see the error :) >> Just try ;) >> To be fair, I've also checked a lot of code, from my own appplications and >> test cases and this was the only problem found :) >> >> Still, it is a bug ;) >> >> >> >> -- >> Panayotis >> 25 Μαρ 2010, 9:12 μ.μ., ο/η Joshua Melcon<xm...@me...> έγραψε: >> >> If the last retain is failing it indicates that there is an issue related to >> the releasing /retaining/nulling of size_org_xmlvm_iphone_CGSize. >> >> I have run Xokoban, Afireworks, and another CCed program and not encountered >> any problems. It is possible that you have found a case which we do not >> handle correctly that doesn't show up in those programs. Later tonight I >> can attempt to reproduce this error using one of our demo apps -- >> >> Could you confirm that the Xokoban and Afireworks demo apps are working for >> you? >> >> Thanks, >> >> >> -- Joshua Melcon >> >> >> 2010/3/25 Panayotis Katsaloulis<pan...@pa...> >>> >>> On 25 Μαρ 2010, at 8:02 μ.μ., Joshua Melcon wrote: >>> >>>> _r2.o = [((org_xmlvm_iphone_UIView*) _r0.o) getFrame__]; // R2 comes >>>> back ref count += 1 because its a get function >>>> _rtmp.o = _r2.o; // We are overwriting R2 on the next line, so we >>>> need to free our +1 afterwords >>>> _r2.o = ((org_xmlvm_iphone_CGRect*) _r2.o)->size_org_xmlvm_iphone_ >>>> CGSize; // R2 has a new value, the old r2 (in tmp) is not needed >>>> [_rtmp.o release]; _rtmp.o = [NSNull null]; // release the += from >>>> the first line >>>> [_r2.o retain]; // retaining the value from _r2, presumably because >>>> we will be returning soon (can't tell without the rest of the code). >>>> >>>> But, based on this code sequence, everything looks correct? How does >>>> _r2.o retain break things? >>> >>> >>> It says that it tries to retain am already fee'd object. >>> >>> Try it for yourself and see ;) >>> >>> ------------------------------------------------------------------------------ >>> Download Intel® Parallel Studio Eval >>> Try the new software tools for yourself. Speed compiling, find bugs >>> proactively, and fine-tune applications for parallel performance. >>> See why Intel Parallel Studio got high marks during beta. >>> http://p.sf.net/sfu/intel-sw-dev >>> _______________________________________________ >>> xmlvm-users mailing list >>> xml...@li... >>> https://lists.sourceforge.net/lists/listinfo/xmlvm-users >> >> > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users |