Last Comment Bug 766038 - increase system NSPR requirement from 4.9.1 to 4.9.2
: increase system NSPR requirement from 4.9.1 to 4.9.2
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Trunk
: x86 Linux
: -- normal (vote)
: mozilla18
Assigned To: Justin Wood (:Callek)
: Jason Orendorff [:jorendorff]
: 787774 (view as bug list)
Depends on:
  Show dependency treegraph
Reported: 2012-06-19 00:43 PDT by Hussam Al-Tayeb
Modified: 2012-09-17 15:09 PDT (History)
6 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

v0 (1.52 KB, patch)
2012-07-16 11:54 PDT, Terrence Cole [:terrence]
mh+mozilla: review-
Details | Diff | Splinter Review
fix it both places (650 bytes, patch)
2012-09-02 01:42 PDT, Justin Wood (:Callek)
no flags Details | Diff | Splinter Review
fix it both places v1.5 (1.11 KB, patch)
2012-09-02 01:43 PDT, Justin Wood (:Callek)
mh+mozilla: review+
akeybl: approval‑mozilla‑aurora+
akeybl: approval‑mozilla‑beta+
Details | Diff | Splinter Review

Description Hussam Al-Tayeb 2012-06-19 00:43:01 PDT
User Agent: Mozilla/5.0 (X11; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0.1
Build ID: 20120616064646

Steps to reproduce:

firefox 13.0.1 compiled fine with clang but trunk won't,

Actual results:

clang++ -o jsgc.o -c  -I./../../dist/system_wrappers_js -include /home/hussam/packages/firefox/js/src/config/gcc_hidden.h -DMOZ_GLUE_IN_PROGRAM -DEXPORT_JS_API -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -DNO_NSPR_10_SUPPORT -I/usr/lib/libffi-3.0.11/include   -I.  -I/home/hussam/packages/firefox/js/src/../../mfbt/double-conversion -I/home/hussam/packages/firefox/js/src -I. -I./../../dist/include  -I/usr/include/nspr  -I/home/hussam/packages/firefox/js/src -I/home/hussam/packages/firefox/js/src/assembler -I/home/hussam/packages/firefox/js/src/yarr  -fPIC -Qunused-arguments  -pedantic -Qunused-arguments -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Wtype-limits -Wempty-body -Wno-ctor-dtor-privacy -Wno-overlength-strings -Wno-invalid-offsetof -Wno-variadic-macros -Wno-c++0x-extensions -Wno-extended-offsetof -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-long-long -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -pthread -pipe  -DNDEBUG -DTRIMMED -g -O3 -freorder-blocks  -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -Qunused-arguments  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsgc.pp /home/hussam/packages/firefox/js/src/jsgc.cpp
/home/hussam/packages/firefox/js/src/jsgc.cpp:2736:5: error: use of undeclared
      identifier 'PR_SetCurrentThreadName'
    PR_SetCurrentThreadName("JS GC Helper");
1 error generated.
make[5]: *** [jsgc.o] Error 1
make[5]: Leaving directory `/home/hussam/packages/firefox/obj-i686-pc-linux-gnu/js/src'
make[4]: *** [libs_tier_js] Error 2
make[4]: Leaving directory `/home/hussam/packages/firefox/obj-i686-pc-linux-gnu'
make[3]: *** [tier_js] Error 2
make[3]: Leaving directory `/home/hussam/packages/firefox/obj-i686-pc-linux-gnu'
make[2]: *** [default] Error 2
make[2]: Leaving directory `/home/hussam/packages/firefox/obj-i686-pc-linux-gnu'
make[1]: *** [realbuild] Error 2
make[1]: Leaving directory `/home/hussam/packages/firefox'
make: *** [build] Error 2

Expected results:

firefox should compile correctly.
Note: This worked in firefox 13.0.1 so it is a regression.
Comment 1 David Mandelin [:dmandelin] 2012-06-19 18:00:03 PDT
Do you have a regression range for the breakage?
Comment 2 Hussam Al-Tayeb 2012-06-20 00:03:21 PDT
No, sorry. all I know is that it worked when I compiled firefox 13.0.1 then didn't when I felt like playing with a trunk build.
Comment 3 Hussam Al-Tayeb 2012-06-20 00:13:04 PDT
ok, it works with internal nspr but not with system nspr 4.9.1
Comment 4 Wan-Teh Chang 2012-06-20 09:23:53 PDT
Honza: mozilla/ can require a particular version of system nspr:

3890 dnl ========================================================
3891 dnl = If NSPR was not detected in the system,
3892 dnl = use the one in the source tree (mozilla/nsprpub)
3893 dnl ========================================================
3894 MOZ_ARG_WITH_BOOL(system-nspr,
3895 [  --with-system-nspr      Use system installed NSPR],
3896     _USE_SYSTEM_NSPR=1 )
3898 if test -n "$_USE_SYSTEM_NSPR"; then
3899     AM_PATH_NSPR(4.9.0, [MOZ_NATIVE_NSPR=1], [AC_MSG_ERROR([your don't have NSPR installed or your version is too old])])
3900 fi

I don't know what happens if the system nspr is too old.

We should change 4.9.0 to 4.9.2.
Comment 5 Honza Bambas (:mayhemer) 2012-07-16 06:17:41 PDT
Is anybody working on this?  It's assigned, but there is nobody reasonable in the assignee field.
Comment 6 Terrence Cole [:terrence] 2012-07-16 11:54:35 PDT
Created attachment 642671 [details] [diff] [review]

We don't actually need to touch the browser's requirement, just the SpiderMonkey one.
Comment 7 Mike Hommey [:glandium] 2012-07-19 23:22:40 PDT
Comment on attachment 642671 [details] [diff] [review]

Main configure needs this too.
Comment 8 Kai Engert (:kaie) (on vacation) 2012-07-30 12:14:28 PDT
Comment on attachment 642671 [details] [diff] [review]

required on aurora 16 branch if bug 778845 lands there
Comment 9 Mike Hommey [:glandium] 2012-07-30 12:23:24 PDT
Comment on attachment 642671 [details] [diff] [review]

This hasn't even landed on mozilla-central.
Comment 10 Mike Hommey [:glandium] 2012-07-30 12:25:02 PDT
(In reply to Terrence Cole [:terrence] from comment #6)
> Created attachment 642671 [details] [diff] [review]
> v0
> We don't actually need to touch the browser's requirement, just the
> SpiderMonkey one.

We do. Because of bug 720778.
Comment 11 Mike Hommey [:glandium] 2012-09-02 01:20:07 PDT
*** Bug 787774 has been marked as a duplicate of this bug. ***
Comment 12 Landry Breuil (:gaston) 2012-09-02 01:25:29 PDT
Note that it's also needed on mozilla-beta. 16.0b1 doesnt build with system nspr 4.9.0.
Comment 13 Justin Wood (:Callek) 2012-09-02 01:42:35 PDT
Created attachment 657646 [details] [diff] [review]
fix it both places

Stealing bug since no new patch in over 1 month, And this is bound to give Linux Distro's a headache with build errors if we let it languish as an issue in beta for long.
Comment 14 Justin Wood (:Callek) 2012-09-02 01:43:33 PDT
Created attachment 657647 [details] [diff] [review]
fix it both places v1.5

This time after qref'ing
Comment 15 Justin Wood (:Callek) 2012-09-02 01:51:55 PDT
Comment on attachment 657647 [details] [diff] [review]
fix it both places v1.5

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 
User impact if declined: None, but has Linux Distro problems if decline
Testing completed (on m-c, etc.): Landing on m-i now.
Risk to taking this patch (and alternatives if risky): NPOTB (our builds don't use --with-system-nspr)
String or UUID changes made by this patch: None

Without this patch, we risk linux distro's wasting time trying to compile Firefox 16 against an older [system] NSPR and getting confused, by taking this change we are able to error out early and let them know they need to update the dependancy in both their build tools and the rpm/yum/whatever repo they store it in.
Comment 17 Ryan VanderMeulen [:RyanVM] 2012-09-02 18:59:42 PDT
Comment 18 Alex Keybl [:akeybl] 2012-09-04 06:36:45 PDT
Comment on attachment 657647 [details] [diff] [review]
fix it both places v1.5

[Triage Comment]
NPOTB, good fix for Linux maintainers.

Note You need to log in before you can comment on or make changes to this bug.