Skip to content

octane benchmark faults on ppc64le #4865

Closed
@thilo-maurer

Description

@thilo-maurer

Running Octane 2.0 Benchmark (from https://www.npmjs.com/package/benchmark-octane) on Ubuntu 14.04.3 on ppc64le (POWER 8) faults with following messages. Looks the error is at the beginning of the RegExp benchmark.

    hostname     : pnode5
    node version : v0.10.25
      V8 version : 3.14.5.9
 platform & arch : linux ppc64

 config : { target_defaults: 
   { cflags: [],
     default_configuration: 'Release',
     defines: [],
     include_dirs: [],
     libraries: 
      [ '-lz',
        '-lcares',
        '-lv8',
        '-lssl',
        '-lcrypto' ] },
  variables: 
   { clang: 0,
     gcc_version: 48,
     host_arch: 'ppc64',
     node_byteorder: 'little',
     node_install_npm: false,
     node_prefix: '/usr',
     node_shared_cares: true,
     node_shared_http_parser: false,
     node_shared_libuv: false,
     node_shared_openssl: true,
     node_shared_v8: true,
     node_shared_zlib: true,
     node_tag: '',
     node_unsafe_optimizations: 0,
     node_use_dtrace: false,
     node_use_etw: false,
     node_use_openssl: true,
     node_use_perfctr: false,
     node_use_systemtap: false,
     python: '/usr/bin/python',
     target_arch: 'ppc64',
     v8_enable_gdbjit: 0,
     v8_no_strict_aliasing: 1,
     v8_use_snapshot: false } }

Richards            : 5821
DeltaBlue           : 7967
Crypto              : 4995
RayTrace            : 5737
EarleyBoyer         : 12089
Stacktrace (dead0000-dead0001) 0x5fe04141 0x5fe04101: 
==== Stack trace ============================================

Security context: 0x42106b71 <JS Object>#0#
    1: DefaultString [native runtime.js:646] (this=0x42107c19 <JS Object>#1#,a=0x5fe04141 <Map(elements=0)>#2#)
    2: NonStringToString(aka NonStringToString) [native runtime.js:562] (this=0x42104121 <undefined>,a=0x5fe04141 <Map(elements=0)>#2#)
    3: exec [native regexp.js:~168] (this=0x5170ae61 <JS RegExp>#3#,a=0x5fe04141 <Map(elements=0)>#2#)
    4: Exec [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane/regexp.js:~74] (this=0x42106c91 <JS Global Object>#4#,re=0x5170ae61 <JS RegExp>#3#,string=0x5fe04141 <Map(elements=0)>#2#)
    5: runBlock0(aka runBlock0) [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane/regexp.js:~133] (this=0)
    6: run [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane/regexp.js:1788] (this=0x51704ac1 <a RegExpBenchmark>#5#)
    7: RegExpRun [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane/regexp.js:53] (this=0x42106c91 <JS Global Object>#4#)
    8: Setup(aka RegExpSetup) [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane/regexp.js:49] (this=0x3fff80564111 <a Benchmark>#6#)
    9: RunNextSetup [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane/base.js:356] (this=0x42106c91 <JS Global Object>#4#)
   10: RunStep [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane/base.js:389] (this=0x3fff80564171 <a BenchmarkSuite>#7#,runner=0x53bc5619 <an Object>#8#)
   11: RunStep [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane/base.js:157] (this=0x42106c91 <JS Global Object>#4#)
   12: RunSuites [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane/base.js:173] (this=0x4215a911 <JS Function BenchmarkSuite>#9#,runner=0x53bc5619 <an Object>#8#,skipBenchmarks=0x42104121 <undefined>)
   13: arguments adaptor frame: 1->2
   14: run [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane.js:112] (this=0x53bc3da1 <an Object>#10#)
   15: /* anonymous */ [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/run.js:3] (this=0x3fff8050d051 <an Object>#11#,exports=0x3fff8050d051 <an Object>#11#,require=0x3fff8050cf61 <JS Function require>#12#,module=0x3fff8050ce91 <a Module>#13#,__filename=0x3ba6cb29 <String[64]: /gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/run.js>,__dirname=0x3fff8050d029 <String[57]: /gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane>)
   17: _compile [module.js:456] (this=0x3fff8050ce91 <a Module>#13#,content=0x3ba6cc59 <String[56]\: var octane = require('./lib/octane.js');\n\noctane.run();\n>,filename=0x3ba6cb29 <String[64]: /gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/run.js>)
   18: .js [module.js:474] (this=0x3fff8050ce79 <an Object>#14#,module=0x3fff8050ce91 <a Module>#13#,filename=0x3ba6cb29 <String[64]: /gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/run.js>)
   19: load [module.js:356] (this=0x3fff8050ce91 <a Module>#13#,filename=0x3ba6cb29 <String[64]: /gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/run.js>)
   20: _load [module.js:312] (this=0x3fff8050cf19 <JS Function Module>#15#,request=0x5e3305f1 <String[9]: ../run.js>,parent=0x3fff8050d089 <a Module>#16#,isMain=0x42104121 <undefined>)
   21: arguments adaptor frame: 2->3
   22: require [module.js:364] (this=0x3fff8050d089 <a Module>#16#,path=0x5e3305f1 <String[9]: ../run.js>)
   23: require [module.js:380] (this=0x42106c91 <JS Global Object>#4#,path=0x5e3305f1 <String[9]: ../run.js>)
   24: /* anonymous */ [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/bin/benchmark-octane2:3] (this=0x3fff8050d201 <an Object>#17#,exports=0x3fff8050d201 <an Object>#17#,require=0x3fff8050d111 <JS Function require>#18#,module=0x3fff8050d089 <a Module>#16#,__filename=0x3ba6ccc9 <String[79]: /gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/bin/benchmark-octane2>,__dirname=0x3fff8050d1d9 <String[61]: /gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/bin>)
   26: _compile [module.js:456] (this=0x3fff8050d089 <a Module>#16#,content=0x3ba6cdf9 <String[24]\: \n\nrequire('../run.js');\n>,filename=0x3ba6ccc9 <String[79]: /gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/bin/benchmark-octane2>)
   27: .js [module.js:474] (this=0x3fff8050ce79 <an Object>#14#,module=0x3fff8050d089 <a Module>#16#,filename=0x3ba6ccc9 <String[79]: /gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/bin/benchmark-octane2>)
   28: load [module.js:356] (this=0x3fff8050d089 <a Module>#16#,filename=0x3ba6ccc9 <String[79]: /gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/bin/benchmark-octane2>)
   29: _load [module.js:312] (this=0x3fff8050cf19 <JS Function Module>#15#,request=0x3ba6ce71 <String[79]: /gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/bin/benchmark-octane2>,parent=0x42104101 <null>,isMain=0x42104141 <true>)
   30: runMain [module.js:497] (this=0x3fff8050cf19 <JS Function Module>#15#)
   31: startup [node.js:119] (this=0x42106c91 <JS Global Object>#4#)
   32: /* anonymous */ [node.js:902] (this=0x42106c91 <JS Global Object>#4#,process=0x3fff8050d3d1 <a process>#19#)

==== Details ================================================

[1]: DefaultString [native runtime.js:646] (this=0x42107c19 <JS Object>#1#,a=0x5fe04141 <Map(elements=0)>#2#) {
  // stack-allocated locals
  var b = 0x42104121 <undefined>
  var c = 0x42104121 <undefined>
  var d = 0x42104121 <undefined>
  var e = 0x42104121 <undefined>
  // expression stack (top to bottom)
  [05] : 0x5e304819 <String[8]: toString>
  [04] : 0x5fe04141 <Map(elements=0)>#2#
--------- s o u r c e   c o d e ---------
function DefaultString(a){?var b=a.toString;?if((%_ClassOf(b)==='Function')){?var c=%_CallFunction(a,b);?if(%IsPrimitive(c))return c;?}??var d=a.valueOf;?if((%_ClassOf(d)==='Function')){?var e=%_CallFunction(a,d);?if(%IsPrimitive(e))return e;?}??throw %MakeTypeError('cannot_convert_to_primitive',[]);?}
-----------------------------------------
}

[2]: NonStringToString(aka NonStringToString) [native runtime.js:562] (this=0x42104121 <undefined>,a=0x5fe04141 <Map(elements=0)>#2#) {
  // expression stack (top to bottom)
  [02] : 0x5fe04141 <Map(elements=0)>#2#
  [01] : 0x42107c19 <JS Object>#1#
  [00] : 0x42107c19 <JS Object>#1#
--------- s o u r c e   c o d e ---------
function NonStringToString(a){?if((typeof(a)==='number'))return %_NumberToString(a);?if((typeof(a)==='boolean'))return a?'true':'false';?if((typeof(a)==='undefined'))return'undefined';?return((a===null))?'null':%ToString(%DefaultString(a));?}
-----------------------------------------
}

[3]: exec [native regexp.js:~168] (this=0x5170ae61 <JS RegExp>#3#,a=0x5fe04141 <Map(elements=0)>#2#) {
// optimized frame
}
[4]: Exec [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane/regexp.js:~74] (this=0x42106c91 <JS Global Object>#4#,re=0x5170ae61 <JS RegExp>#3#,string=0x5fe04141 <Map(elements=0)>#2#) {
// optimized frame
}
[5]: runBlock0(aka runBlock0) [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane/regexp.js:~133] (this=0) {
// optimized frame
}
[6]: run [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane/regexp.js:1788] (this=0x51704ac1 <a RegExpBenchmark>#5#) {
  // stack-allocated locals
  var i = 1
  var sum = 0
  // expression stack (top to bottom)
  [04] : 0
  [03] : 0x5170ad09 <JS Function runBlock0>#20#
  [02] : 0
--------- s o u r c e   c o d e ---------
function run() {?    for (var i = 0; i < 5; i++) {?      var sum = 0;?      sum += runBlock0();?      sum += runBlock1();?      sum += runBlock2();?      sum += runBlock3();?      sum += runBlock4();?      sum += runBlock5();?      sum += runBlock6();?      sum += runBlock7();?      sum += runBlock8();?      su...

-----------------------------------------
}

[7]: RegExpRun [/gpfs/home/tmaurer/src/node.js-benchmark/benchmark-octane/lib/octane/regexp.js:53] (this=0x42106c91 <JS Global Object>#4#) {
  // expression stack (top to bottom)
  [00] : 0x51704ac1 <a RegExpBenchmark>#5#
--------- s o u r c e   c o d e ---------
function RegExpRun() {?  regExpBenchmark.run();?}
----
Trace/breakpoint trap

Metadata

Metadata

Assignees

No one assigned

    Labels

    invalidIssues and PRs that are invalid.v8 engineIssues and PRs related to the V8 dependency.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions