Closed Bug 91314 Opened 23 years ago Closed 23 years ago

Mozilla segfaults if it doesn't have write permission to the installation dir's bin directory

Categories

(SeaMonkey :: General, defect)

Sun
SunOS
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED DUPLICATE of bug 79520

People

(Reporter: trelane, Assigned: asa)

Details

From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:0.9.2+) Gecko/20010717
BuildID:    0

Running Moz for the absolute first time from /usr/local/lib/mozilla-CVS/bin, I
found that Mozilla segfaulted.  Upon running truss, I found that it was not
finding a file [unfortunately, I *thought* I had it saved, but alas, that was
not the case.

At any rate, it appears that the following files and directories are created
when Mozilla starts up the first time.  If they aren't there, Mozilla creates
them.  Unfortunately for Mozilla, the directory was owned by root and only
writeable by root, so it was unable to create the files.  It looks like it tries
to find the files [I saw ENOENT returned from the open], and upon not finding
them, it creates them [I saw EACCES].  Then it expects them to be created [I saw
again ENOENT returned from an open()], but apparently doesn't handle this
failure gracefully and segv's.



Reproducible: Always
Steps to Reproduce:
1.Configure and build Mozilla
2.cp -R dist $INSTALLDIR
3.Make sure you don't have write permissions to $INSTALLDIR or its subdirectories
4.try and start Mozilla

Actual Results:  segfault

Expected Results:  More immediately, we should see a "I don't have permission to
write <foo>!" and a graceful exit.

More long term, why are these files not generated when Mozilla is built?  Or am
I going about this the wrong way?

It seems like a quick fix to get it to just write out an error message and exit
gracefully if the CREATE fails, but I don't know what file to  do this in, and
I'm on the clock for something else.  :)

An immediate workaround is to first start Mozilla in the dist directory before
cp'ing it, or am I just using an improper method to copy the binaries to their
final location?

Either way, the EACCES errno should be checked when creating files.  That's why
I've left it at priority Normal.  I'd guess that this isn't platform-specific,
but I don't have data on that.
Duplicate of "./mozilla crashs on first start, if not run as install user"

The release notes explicitly mention this problem, by the way...

A correct solution will involve something like what you propose, yes.

*** This bug has been marked as a duplicate of 79520 ***
Status: UNCONFIRMED → RESOLVED
Closed: 23 years ago
Resolution: --- → DUPLICATE
.
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.