Package: icedove
Version: 17.0.5-1
Severity: normal

looking at, for example, the armel build log

  
https://buildd.debian.org/status/fetch.php?pkg=icedove&arch=armel&ver=17.0.5-1&stamp=1366372226

i see that icedove compilation fails during the creation of a zip file
that will eventually be placed in /usr/share/icedove/omni.ja

 [...]
  adding: hyphenation/hyph_sv.dic (deflated 51%)
Segmentation fault
make[2]: *** [install] Error 139
make[2]: Leaving directory 
`/build/buildd-icedove_17.0.5-1-armel-mgxbg8/icedove-17.0.5/mail/installer'

the line leading into this is:

cd ../../mozilla/dist/icedove && rm -f omni.ja components/binary.manifest && 
grep -h '^binary-component' components/*.manifest > binary.manifest ; for m in 
components/*.manifest; do sed -e 's/^binary-component/#binary-component/' $m > 
tmp.manifest && mv tmp.manifest $m; done; /usr/bin/zip -r9m omni.ja chrome 
chrome.manifest components/*.js components/*.xpt components/*.manifest modules 
res defaults greprefs.js jsloader jssubloader hyphenation update.locale  -x 
defaults/messenger/mailViews.dat chrome/icons/\* defaults/pref/channel-prefs.js 
defaults/pref/channel-prefs.js res/cursors/\* res/MainMenu.nib/\* 
\*/.mkdir.done  && 
/build/buildd-icedove_17.0.5-1-armel-mgxbg8/icedove-17.0.5/mail/installer/../../mozilla/dist/bin/run-mozilla.sh
 
/build/buildd-icedove_17.0.5-1-armel-mgxbg8/icedove-17.0.5/mozilla/dist/bin/xpcshell
 -g "$PWD" -a "$PWD" -f 
/build/buildd-icedove_17.0.5-1-armel-mgxbg8/icedove-17.0.5/mail/installer/../../mozilla/toolkit/mozapps/installer/precompile_cache.js
 -e "po
 pulate_startupcache('GreD', 'omni.ja', 'startupCache.zip');" && rm -rf 
jsloader jssubloader && /usr/bin/unzip -q startupCache.zip && rm 
startupCache.zip && /usr/bin/zip -r9m omni.ja jsloader/resource/gre 
jssubloader/*/resource/gre && rm -rf jsloader jssubloader && /usr/bin/python2.7 
/build/buildd-icedove_17.0.5-1-armel-mgxbg8/icedove-17.0.5/mail/installer/../../mozilla/config/optimizejars.py
 --optimize 
/build/buildd-icedove_17.0.5-1-armel-mgxbg8/icedove-17.0.5/mail/installer/../../jarlog//en-US
 ./ ./ && mv binary.manifest components && printf "manifest 
components/binary.manifest\n" > chrome.manifest

I believe it's failing after the first invocation of "/usr/bin/zip
-r9m omni.ja ...", which appears to succeed with adding 35 hyphenation files to 
the archive.

I'm not sure if the build is dying inside python or xpcshell or
run-mozilla.sh or somewhere else.  

the same failure point seems to be happening during builds on ia64, mipsel, 
sparc, and armel:

 https://buildd.debian.org/status/package.php?p=icedove&suite=experimental

mipsel, sparc, and ia64 all also give the following message before the segfault:

<jemalloc>Compile-time page size does not divide the runtime one.

Searching for this brings me to:

 https://bugzilla.redhat.com/show_bug.cgi?id=852698

which suggests that the problem is indeed happening after the zip, but
the patches in there only seem to adjust things for powerpc (which
appears to build 17.0.5-1 without failing), so i'm not sure what the
issue is.

comparing iceweasel 17.0.5esr-1's jemalloc to icedove 17.0.5-1's
jemalloc shows:

0 dkg@alice:/tmp/cdtemp.c5tgG7$ diff -ruN icedove-17.0.5/mozilla/memory 
iceweasel-17.0.5esr/memory 
diff -ruN icedove-17.0.5/mozilla/memory/mozjemalloc/jemalloc.c 
iceweasel-17.0.5esr/memory/mozjemalloc/jemalloc.c
--- icedove-17.0.5/mozilla/memory/mozjemalloc/jemalloc.c        2013-03-28 
14:09:00.000000000 -0400
+++ iceweasel-17.0.5esr/memory/mozjemalloc/jemalloc.c   2013-05-15 
03:12:22.000000000 -0400
@@ -1091,7 +1091,9 @@
  * controlling the malloc behavior are defined as compile-time constants
  * for best performance and cannot be altered at runtime.
  */
+#if !defined(__ia64__) && !defined(__sparc__)
 #define MALLOC_STATIC_SIZES 1
+#endif
 
 #ifdef MALLOC_STATIC_SIZES
 
1 dkg@alice:/tmp/cdtemp.c5tgG7$ 

and iceweasel contains the following patch that icedove does not:

0 dkg@alice:/tmp/cdtemp.c5tgG7$ cat 
iceweasel-17.0.5esr/debian/patches/porting/Don-t-hardcode-page-size-on-ia64-or-sparc.patch
From: Mike Hommey <[email protected]>
Date: Fri, 23 Mar 2012 09:57:04 +0100
Subject: Don't hardcode page size on ia64 or sparc

---
 memory/mozjemalloc/jemalloc.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c
index 631e736..ba78597 100644
--- a/memory/mozjemalloc/jemalloc.c
+++ b/memory/mozjemalloc/jemalloc.c
@@ -1091,7 +1091,9 @@ static unsigned           ncpus;
  * controlling the malloc behavior are defined as compile-time constants
  * for best performance and cannot be altered at runtime.
  */
+#if !defined(__ia64__) && !defined(__sparc__)
 #define MALLOC_STATIC_SIZES 1
+#endif
 
 #ifdef MALLOC_STATIC_SIZES
 
0 dkg@alice:/tmp/cdtemp.c5tgG7$ 

that said, iceweasel 17.0.5esr-1 doesn't appear to build for these
architectures either, showing segfaults in the same places:

  https://buildd.debian.org/status/package.php?p=iceweasel&suite=sid

Maybe a porter will have some insight?

Regards,

        --dkg


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to