Crash in Linux installer for static builds

VERIFIED FIXED in mozilla1.0

Status

--
critical
VERIFIED FIXED
17 years ago
14 years ago

People

(Reporter: slogan, Assigned: alecf)

Tracking

({crash})

Trunk
mozilla1.0
x86
Linux
crash

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

17 years ago
 
(Reporter)

Updated

17 years ago
Keywords: nsbeta1+
(Reporter)

Comment 1

17 years ago
   aCount=6, aIgnoreCase=1) at bufferRoutines.h:738
#1  0x405cdd54 in nsStrPrivate::StrCompare2To1 (aDest=@0xbfffc154,
    aSource=@0xbfffbdb0, aCount=-1, aIgnoreCase=1) at nsStr.cpp:1043
#2  0x405d2634 in nsString::CompareWithConversion (this=0xbfffc150,
    aCString=0x4079c8e0 "Plugins", aIgnoreCase=1, aCount=-1)
    at nsString2.cpp:1059
#3  0x405d27b9 in nsString::EqualsWithConversion (this=0xbfffc150,
    aString=0x4079c8e0 "Plugins", aIgnoreCase=1, aCount=-1)
    at nsString2.cpp:1104
#4  0x405d2788 in nsString::EqualsIgnoreCase (this=0xbfffc150,
    aString=0x4079c8e0 "Plugins", aLength=-1) at nsString2.cpp:1092
#5  0x406e4547 in nsInstallFolder::MapNameToEnum (this=0x81488f0,
    name=@0xbfffc150) at nsInstallFolder.cpp:603
#6  0x406e3269 in nsInstallFolder::SetDirectoryPath (this=0x81488f0,
    aFolderID=@0xbfffc150, aRelativePath=@0xbfffc000)
    at nsInstallFolder.cpp:172
#7  0x406e2f75 in nsInstallFolder::Init (this=0x81488f0,
    aFolderID=@0xbfffc150, aRelativePath=@0xbfffc000)
    at nsInstallFolder.cpp:108
#8  0x406dc199 in nsInstall::GetFolder (this=0x81314a8,
    targetFolder=@0xbfffc150, aSubdirectory=@0xbfffc000, aNewFolder=0xbfffc0bc)
    at nsInstall.cpp:1020
#9  0x406dc227 in nsInstall::GetFolder (this=0x81314a8,
    targetFolder=@0xbfffc150, aNewFolder=0xbfffc0bc) at nsInstall.cpp:1035
#10 0x406e7245 in InstallGetFolder (cx=0x8127c70, obj=0x8129350, argc=1,
    argv=0x814de60, rval=0xbfffc300) at nsJSInstall.cpp:1043
#11 0x4073ab04 in js_Invoke (cx=0x8127c70, argc=1, flags=0) at jsinterp.c:788
#12 0x40748ab8 in js_Interpret (cx=0x8127c70, result=0xbfffc99c)
    at jsinterp.c:2745
#13 0x4073b2a2 in js_Execute (cx=0x8127c70, chain=0x8129350, script=0x814dc68,
    down=0x0, special=0, result=0xbfffc99c) at jsinterp.c:968
#14 0x4070d2c8 in JS_EvaluateUCScriptForPrincipals (cx=0x8127c70,
    obj=0x8129350, principals=0x0, chars=0x81464c8, length=3588, filename=0x0,
    lineno=0, rval=0xbfffc99c) at jsapi.c:3339
#15 0x4070d26e in JS_EvaluateUCScript (cx=0x8127c70, obj=0x8129350,
    chars=0x81464c8, length=3588, filename=0x0, lineno=0, rval=0xbfffc99c)
    at jsapi.c:3321
#16 0x4070d1bd in JS_EvaluateScript (cx=0x8127c70, obj=0x8129350,
    bytes=0x81236f8 "// this function verifies disk space in kilobytes\nfunction
verifyDiskSpace(dirPath, spaceRequired)\n{\n  var spaceAvailable;\n\n  // Get
the available disk space on the given path\n  spaceAvailable = fileG"...,
    length=3588, filename=0x0, lineno=0, rval=0xbfffc99c) at jsapi.c:3288
#17 0x406f1125 in RunInstallOnThread (data=0x810a078)
    at nsSoftwareUpdateRun.cpp:434
#18 0x406f0b6b in RunInstall (installInfo=0x810a078)
    at nsSoftwareUpdateRun.cpp:320
(Reporter)

Comment 2

17 years ago
  if (aIgnoreCase && NS_FAILED(NS_InitCaseConversion()))
      aIgnoreCase=PR_FALSE;
 
  if (aStr1 && aStr2) {
    if (aCount != 0) {
      do {
        PRUnichar c1 = *s1++;
        PRUnichar c2 = kIsoLatin1ToUCS2_2[*(const unsigned char*)s2++];

        if (c1 != c2) {
          if (aIgnoreCase) {

            // case insensitive comparison
            gCaseConv->ToLower(c1, &c1);  <---- gCaseConv is NULL in gdb
            gCaseConv->ToLower(c2, &c2);
            if (c1 == c2) continue;
          }
(Reporter)

Updated

17 years ago
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.0
(Reporter)

Comment 3

17 years ago
The crash implies to me that we are not packaging up unicharutils in a way that
is necessary for the static install to complete. 

Updated

17 years ago
Blocks: 128507

Updated

17 years ago
QA Contact: bugzilla → ktrina

Updated

17 years ago
Severity: normal → critical
Keywords: crash
I was surprised to see that we don't link xpcom against unicharutils by default.
 I know that alecf is working to break the compile time dependency but I thought
that we still need it for strings.  Or are we making the consumers of xpcom add
MOZ_UNICHARUTIL_LIBS to their link lines?  
(Assignee)

Comment 5

17 years ago
I find this crash very strange, because if NS_InitCaseConversion fails, then
aIgnoreCase should be set to PR_FALSE which means gCaseConv shouldn't be failing.

That said, we should not be packaging unicharutils with the installer. Instead,
xpinstall should do an ascii conversion so we aren't comparing 2to1, but instead
1to1, which wont require unicharutils.

Patch forthcoming.
(Assignee)

Comment 6

17 years ago
Created attachment 73582 [details] [diff] [review]
use ASCII name rather than unicode
(Assignee)

Comment 7

17 years ago
(I've fixed the indentation of those lines in my tree)
(Reporter)

Comment 8

17 years ago
Tthe "lossy" part scares me a bit. While this works for me in a en-US locale,
are we potentially going to cause problems in some other locale?
Comment on attachment 73582 [details] [diff] [review]
use ASCII name rather than unicode

The "directory" table we're comparing against here is a set of English
keywords, there is no danger of data loss as indicated by the comment.

sr=dveditz
Attachment #73582 - Flags: superreview+
(Assignee)

Comment 10

17 years ago
what dveditz said. someone want to review? syd?

Comment 11

17 years ago
Comment on attachment 73582 [details] [diff] [review]
use ASCII name rather than unicode

r=cathleen 
i have an up-to-date static build and installer works.	thanks!!!
Attachment #73582 - Flags: review+
(Assignee)

Comment 12

17 years ago
reassinging to myself, I just sent out a request to drivers.
Assignee: syd → alecf
Status: ASSIGNED → NEW
Comment on attachment 73582 [details] [diff] [review]
use ASCII name rather than unicode

a=asa (on behalf of drivers) for checkin to the 1.0 trunk
Attachment #73582 - Flags: approval+
(Assignee)

Comment 14

17 years ago
fix is in
Status: NEW → RESOLVED
Last Resolved: 17 years ago
Resolution: --- → FIXED

Comment 15

17 years ago
Verified code fix
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.