Closed Bug 18381 Opened 20 years ago Closed 19 years ago

File op: dirCreate w/subdirs unexpectedly returns error -230 and missing subdirectory

Categories

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

defect

Tracking

(Not tracked)

VERIFIED INVALID

People

(Reporter: jimmykenlee, Assigned: dougt)

Details

(Whiteboard: [nsbeta3+])

Build: 1999-11-09-11-M11(WIN), 1999-11-09-08-M11(MAC), 1999-11-09-11-M11(LINUX)

1. From http://jimbob/trigger.htm, trigger
http://jimbob/jars/f_fileop_dircreate_nested.xpi

Install.StartInstall("Functional: f_fileop_dircreate_nested",
"f_fileop_dircreate_nested", "1.1.1.1", 0);
f = Install.GetFolder("Program");
err1 = Install.DirCreate(f +
"f_fileop_dircreate_nested/байинмутъщзвкофы/111/222/AAA/BBB");
Install.LogComment("Nested DirCreate returns = " + err1);
err2 = Install.DirCreate(f + " ");
Install.LogComment("One blank character DirCreate returns = " + err2);
err3 = Install.DirCreate(f + "");
Install.LogComment("No characters DirCreate returns = " + err3);

RESULT:
No directories are created.  The Install.log reports:

---------------------------------------------------------------------------
http://jimbob/jars/f_fileop_dircreate_nested.xpi     --     11/09/1999 15:27:03
---------------------------------------------------------------------------

     Functional: f_fileop_dircreate_nested
     -------------------------------------

     ** ERROR (-230): Create Folder: C:\Program
Files\moz119\f_fileop_dircreate_nested\байинмутъщзвкофы\111\222\AAA\BBB
     ** Nested DirCreate returns = -230
     ** ERROR (-230): Create Folder: C:\Program Files\moz119\
     ** One blank character DirCreate returns = -230
     ** ERROR (-230): Create Folder: C:\Program Files\moz119\
     ** No characters DirCreate returns = -230

     Install script aborted
     Finished Installation  11/09/1999 15:27:04

EXPECTED RESULT:
Unlike what -230 indicates (ALREADY_EXISTS), the directories do not exist.  The
directories should be created.
Summary: File op: dirCreate w/subdirs unexpectedly returns error -230
Forgot to add Summary.  Here it is!
Assignee: cathleen → ssu
Status: NEW → ASSIGNED
Target Milestone: M13
This should not be returning error -230.  it should be -201 (unexpected_error)
or a new error value indicating that a target directory could not be created.

reassigning this to myself.
Bulk move of XPInstall (component to be deleted) bugs to Installer: XPInstall
Engine
Blocks: 22176
Target Milestone: M13 → M15
mass change to M16
Target Milestone: M15 → M16
need help verify
Assignee: ssu → jimmylee
Status: ASSIGNED → NEW
Builds: 2000-05-03-08-M16(LINUX), 2000-05-08-09-M16(WIN), 2000-05-08-08-M16(MAC)

The problem is still present.  However, looking at the install script, we see 
that I originally was testing characters like байинмутъщзвкофы.  I believe we 
are no longer supported this character set.

Please confirm, Cathleen.  Thanks.
Assignee: jimmylee → cathleen
reassigning to doug.  :-)
M16 has been out for a while now, these bugs target milestones need to be 
updated.
Parecelling out Cathleen's bugs
Assignee: cathleen → ssu
No longer blocks: 22176
Build: 2000-08-02-05-M17(WIN), 2000-08-02-04-M17(MAC), 2000-08-02-04-M17(LINUX)

The subdirectory /BBB is not getting created from any platform.

Install.log:
-------------------------------------------------------------------------------
http://jimbob/jars/f_fileop_dircreate_nested.xpi  --  08/02/2000 11:26:04
-------------------------------------------------------------------------------

     Functional: f_fileop_dircreate_nested
     -------------------------------------

     ** Nested DirCreate returns = 0
     ** ERROR (-230): Create Folder: C:\Program Files\Netscape\Netscape 6\ 
     ** One blank character DirCreate returns = -230
     ** ERROR (-230): Create Folder: C:\Program Files\Netscape\Netscape 6
     ** No characters DirCreate returns = -230

     Install cancelled by script
     Finished Installation  08/02/2000 11:26:04
Summary: File op: dirCreate w/subdirs unexpectedly returns error -230 → File op: dirCreate w/subdirs unexpectedly returns error -230 and missing subdirectory
nominated nsbeta3 by QA. impact is that dircreate is not completely working as 
expected.
Keywords: nsbeta3
Whiteboard: [nsbeta3+]
Multiple directory creation (as in the summary) works -- fixed.

trailing " " is not a bug -- that's what the os will return when you try to 
create "dir1\dir2\ ".

creating "dir\" when "dir" already exists will return already exists from the 
OS, not a bug.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Build: 2000-08-21-08-M18(WIN), 2000-08-21-08-M18(MAC), 2000-08-17-13-M18(LINUX)

Please see comment from 2000-08-02 11:35.

The last subdirectory (\BBB) is still not being created.  Marking Reopen.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Reassigning for load balancing and investigation.
Assignee: ssu → dbragg
Status: REOPENED → NEW
Assignee: dbragg → dougt
Per discussion with dougt, this looks like a bug in the nsLocalFile-platform.cpp 
code.  If the path passed doesn't end with a file separator, the code Create 
code doesn't create the last directory.  The test case listed in the bug report 
is very good for tracing this bug.

Reassigning to Dougt.
I do not think that this is a bug with nsIFile anymore.  (if it is reassign with
comment).  In the script you are aborting if there are any errors.  The abort
will remove any directories that you created (minus any ancestors).  If you
remove this abort, the terminal node gets created just fine.

Why are you getting an error in the first place? Probably because doing:

getFolder("Program", "");

is illegal.


Marking INVALID.
Status: NEW → RESOLVED
Closed: 19 years ago19 years ago
Resolution: --- → INVALID
Build: 2000-08-29-08-M18(WIN), 2000-08-29-08-M18(MAC), 2000-08-29-06-M18(LINUX)

A new test at http://jimbob/jars/18381_bug.xpi verifies that if no errors are 
returned then the directories are created as expected.  Unfortunately, I do not 
know why the last directory is not created when an error is received.

Marking Verified.
Status: RESOLVED → VERIFIED
The last directory is removed when an abort happens.  It is a bug that all of
the parents are not removed. (you should file something against ssu)
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.