Closed Bug 40471 Opened 25 years ago Closed 25 years ago

Performance xpi unexpectedly returns -229 and installation ends

Categories

(Core Graveyard :: Installer: XPInstall Engine, defect, P3)

defect

Tracking

(Not tracked)

VERIFIED INVALID

People

(Reporter: jimmykenlee, Assigned: dveditz)

Details

Build: 2000-05-24-09-M16(WIN), 2000-05-24-08-M16(LINUX), Mac is blocked by Bug 38989 1. From http://jimbob/trigger3.html, click into Trigger URL field 2. Make sure http://jimbob/jars/p_browser2.xpi appears 3. Click Trigger button 4. Click Ok button from confirmation dialog RESULT: Download and installation happen for awhile. The installation is incomplete. The install.log reports -229. EXPECTED RESULT: Installation completes with performance times showing from install.log. This used to work on Macintosh before it got blocked by Bug 38989. INSTALL.LOG: ------------------------------------------------------------------------------- http://jimbob/jars/p_browser2.xpi -- 05/24/2000 13:11:59 ------------------------------------------------------------------------------- Netscape Seamonkey ------------------ ** [47519] post initInstall ** initInstall: 0 ** communicatorFolder: C:\Program Files\Netscape\Netscape 6\ ** [47585] post addDirectory: 0 ** addDirectory() returned: 0 ** dirCreate() returned: 0 Install **FAILED** with error -229 Install **FAILED** with error -229 Finished Installation 05/24/2000 13:13:06 INSTALL SCRIPT: function logNow(msg) { var now = new Date(); secs = now.getSeconds(); secs += (60 * now.getMinutes()); secs += (60 * 60 * now.getHours()); logComment("[" + secs + "] " + msg); return secs; } var err = initInstall("Netscape Seamonkey", "Seamonkey", "5.0.0.2000030113"); startTime = logNow("post initInstall"); logComment("initInstall: " + err); var communicatorFolder = getFolder("Program"); logComment("communicatorFolder: " + communicatorFolder); var subFolder = "Netscape Folder"; err = addDirectory("Program", "5.0.0.2000030113", "viewer", // jar source folder communicatorFolder, // target folder subFolder, // target subdir true ); // force flag addTime = logNow("post addDirectory: " + err); logComment("addDirectory() returned: " + err); // create the plugins folder next to mozilla var pluginsParentFolder = getFolder(communicatorFolder, subFolder); var pluginsFolder = getFolder(pluginsParentFolder, "Plugins"); var ignoreErr = File.dirCreate(pluginsFolder); logComment("dirCreate() returned: " + ignoreErr); // make an alias to the browser on the desktop var desktopFolder = getFolder("Mac Desktop"); var appFolder = getFolder("Communicator", subFolder); ignoreErr = File.macAlias(appFolder, "Netscape", // source desktopFolder, "Netscape"); // target logComment("File.macAlias() returned: " + ignoreErr); if (err==SUCCESS || err==REBOOT_NEEDED) { err = performInstall(); finalTime = logNow("post performInstall"); logComment("performInstall() returned: " + err); } else { cancelInstall(); logComment("cancelInstall() due to error: " + err); } logComment("****************************************************"); logComment("Total time: " + (finalTime - startTime) + " secs"); logComment("addDirectory time: " + (addTime - startTime) + " secs"); logComment("performInstall time: " + (finalTime - addTime) + " secs");
Nominating for nsbeta2. This fix will allow QA to resume measuring the performance of the XPInstall engine. QA has observed some degradation and has yet to be able to take one measurement for all platforms since the change over to nsIFile post Beta 1.
Keywords: nsbeta2
Looks like you're trying to create a mac alias on a windows machine -- that's not going to work! what did it do before?
Status: NEW → ASSIGNED
The macAlias would not choke on Linux and Windows previously. It was ignored. I think it is suppose to behave this way from a previous conversation with Samir unless I'm getting it confused with something else. Ccing Samir to get his opinion. Samir: Do we expect Linux and Windows to ignore macAlias, or should an error like -229 be returned?
It should ignore it. Based on the code the only other error you may get back should be UNEXPECTED_ERROR (and if that's the case you can change your script to ignore the error). Please test this with an isolated File.macAlias() script on Win32 and Linux to narrow down the problem. I'm open to File.macAlias() behavior going either way: UNEXPECTED_ERROR or returning SUCCESS on platforms that don't support it.
The test case at http://jimbob/jars/a_filemacalias.xpi is also returning -229. It appears that we have issues with running platform specific APIs on other platforms. I will write a separate bug about this matter. As for this specific case, commenting out the macAlias and getFolder("Mac Desktop") allows for Linux and Windows to run this modified script. This is acceptable because the impact of commenting out these lines is negligible to the overall performance measurements. Therefore, I am removing keyword nsbeta2, and recommending that this bug be resolved as INVALID.
Keywords: nsbeta2
OK, so one last case to isolate would be to test fileMacAlias without getFolder("Mac Desktop") in the same script. We have seen that isolated getFolder("Mac Desktop") containing scripts return -229.
Also, if getFolder("Mac Desktop") is the isolated problem we should leave this bug around and change the summary to reflect this problem. Quite possibly introduced by the nsIFile landing.
I have verified that the culprit is not macAlias, but getFolder() using a Mac target folder. The "real" problem should now be tracked from Bug 40518.
So can we resolve this as invalid?
Yes, I still say mark this INVALID. This is no longer a performance xpi issue.
Dan, I'm taking the liberty of marking it invalid.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → INVALID
But this test is still broken, right? Unless you've fixed the performance test maybe it should be open but blocked on the other bug. Hm, but then it would sorta be a dupe. In any case the platform-specific getFolders() are specified to return null on non-matching platforms, they definitely should NOT abort the script.
Jimmy has worked around this by removing the calls to getFolder("Mac Desktop") and fileMacAlias(). So the test is revived although not identical to past runs. However, we estimated the performance difference from these two otherwise noops should be negligible enough that rough performance values are still meaningful. Other bugs are open to track other getFolder(<Mac specific>) targets, I believe.
Yeah...what they said. Marking Verified.
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.