Last Comment Bug 696299 - Valgrind jobs are failing in js/src/shell/
: Valgrind jobs are failing in js/src/shell/
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Trunk
: x86 Linux
: -- blocker (vote)
: ---
Assigned To: Ted Mielczarek [:ted.mielczarek]
:
: Jason Orendorff [:jorendorff]
Mentors:
Depends on: 735295 735309
Blocks: valgrind-on-tbpl 696297 696305 706695
  Show dependency treegraph
 
Reported: 2011-10-20 18:55 PDT by Jesse Ruderman
Modified: 2012-03-26 04:05 PDT (History)
13 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments

Description Jesse Ruderman 2011-10-20 18:55:34 PDT
https://tbpl.mozilla.org/php/getParsedLog.php?id=6947304&tree=Firefox&full=1#error0

`.L3239' referenced in section `.gnu.linkonce.r._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o): defined in discarded section `.gnu.linkonce.t._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o)
`.L3239' referenced in section `.gnu.linkonce.r._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o): defined in discarded section `.gnu.linkonce.t._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o)
`.L3240' referenced in section `.gnu.linkonce.r._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o): defined in discarded section `.gnu.linkonce.t._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o)
`.L3240' referenced in section `.gnu.linkonce.r._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o): defined in discarded section `.gnu.linkonce.t._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o)
`.L3241' referenced in section `.gnu.linkonce.r._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o): defined in discarded section `.gnu.linkonce.t._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o)
`.L3241' referenced in section `.gnu.linkonce.r._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o): defined in discarded section `.gnu.linkonce.t._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o)
`.L3242' referenced in section `.gnu.linkonce.r._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o): defined in discarded section `.gnu.linkonce.t._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o)
`.L3242' referenced in section `.gnu.linkonce.r._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o): defined in discarded section `.gnu.linkonce.t._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o)
`.L3243' referenced in section `.gnu.linkonce.r._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o): defined in discarded section `.gnu.linkonce.t._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o)
`.L3243' referenced in section `.gnu.linkonce.r._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o): defined in discarded section `.gnu.linkonce.t._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o)
`.L3244' referenced in section `.gnu.linkonce.r._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o): defined in discarded section `.gnu.linkonce.t._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o)
`.L3244' referenced in section `.gnu.linkonce.r._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o): defined in discarded section `.gnu.linkonce.t._ZN2js12StringObject6createEP9JSContextP8JSString' of ../libjs_static.a(jsstr.o)
collect2: ld returned 1 exit status
make[4]: Leaving directory `/builds/slave/m-cen-lnx-valgrind/objdir/js/src/shell'
make[4]: *** [js] Error 1
make[3]: *** [libs] Error 2
make[3]: Leaving directory `/builds/slave/m-cen-lnx-valgrind/objdir/js/src'
make[2]: *** [libs_tier_js] Error 2
make[2]: Leaving directory `/builds/slave/m-cen-lnx-valgrind/objdir'
make[1]: *** [tier_js] Error 2
make[1]: Leaving directory `/builds/slave/m-cen-lnx-valgrind/objdir'
make: *** [default] Error 2
program finished with exit code 2
Comment 1 Ben Hearsum (:bhearsum) 2011-10-21 03:52:11 PDT
Jesse, I'm not sure what RelEng can do here, it looks like a compilation issue that a developer needs to take a look at.
Comment 2 Luke Wagner [:luke] 2011-12-02 10:39:16 PST
This seems like a pretty kosher use of inlining.  Perhaps Julian or Nick know something on the valgrind end?
Comment 3 Nicholas Nethercote [:njn] 2011-12-02 13:14:19 PST
The full log is not available and comment 0 doesn't have enough context to know what's going on.

How are these valgrind-enabled builds built differently from normal builds?
Comment 4 Chris AtLee [:catlee] 2011-12-02 13:19:29 PST
They're using this script to build:
http://hg.mozilla.org/build/tools/file/default/scripts/valgrind/valgrind.sh
Comment 6 Nicholas Nethercote [:njn] 2011-12-02 17:43:32 PST
(In reply to Chris AtLee [:catlee] from comment #4)
> They're using this script to build:
> http://hg.mozilla.org/build/tools/file/default/scripts/valgrind/valgrind.sh

The only vaguely unusual things I can see in there are --disable-elfhack (but that seems like it would avoid problems rather than cause them) and --freorder-blocks (but I don't see how that would cause problems).

Unrelatedly, you can use --smc-check=all-non-file instead of --smc-check=all and it'll run faster.
Comment 7 Gary Kwong [:gkw] [:nth10sd] 2011-12-02 17:48:00 PST
(In reply to Nicholas Nethercote [:njn] from comment #6)
> Unrelatedly, you can use --smc-check=all-non-file instead of --smc-check=all
> and it'll run faster.

This requires at least Valgrind 3.7.0.
Comment 8 Ted Mielczarek [:ted.mielczarek] 2012-03-13 07:25:36 PDT
Er, that valgrind script appears to be using GCC 4.3.3, whereas the rest of our builds use GCC 4.5.2. We should probably fix that.
Comment 9 Ted Mielczarek [:ted.mielczarek] 2012-03-20 13:06:16 PDT
Still broken, I think the valgrind.sh script got broken along the way, it doesn't seem to be conveying its mozconfig options to configure. I have patches to (hopefully) fix that in bug 735309.
Comment 10 Ted Mielczarek [:ted.mielczarek] 2012-03-26 04:05:58 PDT
Switching to GCC 4.5 made these builds work again:
https://tbpl.mozilla.org/php/getParsedLog.php?id=10369320&tree=Firefox

They're still showing up as red on TBPL, but that's because Valgrind is apparently exiting with a non-zero status (and these jobs are run in a slightly unusual way).

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