Skip to content

Instantly share code, notes, and snippets.

@pnkfelix
Created March 14, 2013 18:23
Show Gist options
  • Save pnkfelix/5163856 to your computer and use it in GitHub Desktop.
Save pnkfelix/5163856 to your computer and use it in GitHub Desktop.
Problem with ParallelGetPropertyIC::reset ?
Top-most portion of backtrace:
#0 js::ion::CodeLocationJump::raw (this=0x7fff5fbd0890) at Assembler-shared.h:444
#1 0x00000001009ea082 in js::ion::PatchJump (jump={raw_ = 0xdeadc0de <Address 0xdeadc0de out of bounds>, absolute_ = true, jumpTableEntry_ = 0xdeadab1e <Address 0xdeadab1e out of bounds>}, label={raw_ = 0x106eee0f6 "<felix-deleted-non-utf8-garbage-in-string>", absolute_ = true}) at Assembler-x64.h:600
#2 0x00000001009e8909 in js::ion::IonCache::reset (this=0x104034698) at /Users/fklock/Dev/Mozilla/iontrail/js/src/ion/IonCaches.cpp:1359
#3 0x00000001009e886f in js::ion::ParallelGetPropertyIC::reset (this=0x104034698) at /Users/fklock/Dev/Mozilla/iontrail/js/src/ion/IonCaches.cpp:1145
#4 0x0000000100947f34 in js::ion::IonScript::purgeCaches (this=0x104034600, c=0x10289dc00) at /Users/fklock/Dev/Mozilla/iontrail/js/src/ion/Ion.cpp:801
Scroll down to bottom to see full backtrace. Something is wrong and niko said it is in code that shu recently touched. Unfortunately it takes a long time for this to run under a debug-enabled build.
(gdb) cd /Users/fklock/Dev/Mozilla/iontrail/js/src/parjs-benchmarks
Working directory /Users/fklock/Dev/Mozilla/iontrail/js/src/parjs-benchmarks.
(gdb) r -e 'var libdir="./"; var MODE="compare";' nbody
Starting program: /Users/fklock/Dev/Mozilla/iontrail/objdir-dbg-js/js -e 'var libdir="./"; var MODE="compare";' nbody
Reading symbols for shared libraries ++++++++.............................................................. done
can't open nbody: No such file or directory
Program exited with code 04.
(gdb
(gdb) -e 'var libdir="./"; var MODE="compare";' nbody.js
Undefined command: "-e". Try "help".
(gdb) r -e 'var libdir="./"; var MODE="compare";' nbody.js
Starting program: /Users/fklock/Dev/Mozilla/iontrail/objdir-dbg-js/js -e 'var libdir="./"; var MODE="compare";' nbody.js
Warming up sequential runs
.
Measuring sequential runs
Measuring parallel runs
Checking correctness
NBODY_4K SEQUENTIAL MEASUREMENT 0: 2426
NBODY_4K SEQUENTIAL MEASUREMENT 1: 2486
NBODY_4K SEQUENTIAL MEASUREMENT 2: 2525
NBODY_4K SEQUENTIAL AVERAGE: 2479
NBODY_4K PARALLEL MEASUREMENT 0: 49576
NBODY_4K PARALLEL MEASUREMENT 1: 56516
NBODY_4K PARALLEL MEASUREMENT 2: 54251
NBODY_4K PARALLEL AVERAGE : 53447.666666666664
NBODY_4K SEQ/PAR RATIO : 0.04638181897557112
NBODY_4K PAR/SEQ RATIO : 21.560172112410918
NBODY_4K IMPROVEMENT : -2056%
Warming up sequential runs
.
Measuring sequential runs
Measuring parallel runs
Checking correctness
NBODY_4.5K SEQUENTIAL MEASUREMENT 0: 3034
NBODY_4.5K SEQUENTIAL MEASUREMENT 1: 3036
NBODY_4.5K SEQUENTIAL MEASUREMENT 2: 3210
NBODY_4.5K SEQUENTIAL AVERAGE: 3093.3333333333335
NBODY_4.5K PARALLEL MEASUREMENT 0: 71644
NBODY_4.5K PARALLEL MEASUREMENT 1: 65444
NBODY_4.5K PARALLEL MEASUREMENT 2: 70650
NBODY_4.5K PARALLEL AVERAGE : 69246
NBODY_4.5K SEQ/PAR RATIO : 0.0446716537176636
NBODY_4.5K PAR/SEQ RATIO : 22.385560344827585
NBODY_4.5K IMPROVEMENT : -2138%
Warming up sequential runs
.
Measuring sequential runs
Measuring parallel runs
Checking correctness
NBODY_5K SEQUENTIAL MEASUREMENT 0: 3764
NBODY_5K SEQUENTIAL MEASUREMENT 1: 3802
NBODY_5K SEQUENTIAL MEASUREMENT 2: 3766
NBODY_5K SEQUENTIAL AVERAGE: 3777.3333333333335
NBODY_5K PARALLEL MEASUREMENT 0: 63639
NBODY_5K PARALLEL MEASUREMENT 1: 67523
NBODY_5K PARALLEL MEASUREMENT 2: 62798
NBODY_5K PARALLEL AVERAGE : 64653.333333333336
NBODY_5K SEQ/PAR RATIO : 0.05842441740565065
NBODY_5K PAR/SEQ RATIO : 17.11613130956583
NBODY_5K IMPROVEMENT : -1611%
Warming up sequential runs
.
Measuring sequential runs
Measuring parallel runs
Checking correctness
NBODY_5.5K SEQUENTIAL MEASUREMENT 0: 4620
NBODY_5.5K SEQUENTIAL MEASUREMENT 1: 4600
NBODY_5.5K SEQUENTIAL MEASUREMENT 2: 4624
NBODY_5.5K SEQUENTIAL AVERAGE: 4614.666666666667
NBODY_5.5K PARALLEL MEASUREMENT 0: 96799
NBODY_5.5K PARALLEL MEASUREMENT 1: 99635
NBODY_5.5K PARALLEL MEASUREMENT 2: 102324
NBODY_5.5K PARALLEL AVERAGE : 99586
NBODY_5.5K SEQ/PAR RATIO : 0.04633850809015993
NBODY_5.5K PAR/SEQ RATIO : 21.58032360589425
NBODY_5.5K IMPROVEMENT : -2058%
Warming up sequential runs
.
Measuring sequential runs
Measuring parallel runs
Checking correctness
NBODY_6K SEQUENTIAL MEASUREMENT 0: 6013
NBODY_6K SEQUENTIAL MEASUREMENT 1: 6075
NBODY_6K SEQUENTIAL MEASUREMENT 2: 6018
NBODY_6K SEQUENTIAL AVERAGE: 6035.333333333333
NBODY_6K PARALLEL MEASUREMENT 0: 122265
NBODY_6K PARALLEL MEASUREMENT 1: 130511
NBODY_6K PARALLEL MEASUREMENT 2: 137351
NBODY_6K PARALLEL AVERAGE : 130042.33333333333
NBODY_6K SEQ/PAR RATIO : 0.04641052785375019
NBODY_6K PAR/SEQ RATIO : 21.546835303214404
NBODY_6K IMPROVEMENT : -2054%
Warming up sequential runs
.
Measuring sequential runs
Measuring parallel runs
Checking correctness
NBODY_6.5K SEQUENTIAL MEASUREMENT 0: 7253
NBODY_6.5K SEQUENTIAL MEASUREMENT 1: 6778
NBODY_6.5K SEQUENTIAL MEASUREMENT 2: 6794
NBODY_6.5K SEQUENTIAL AVERAGE: 6941.666666666667
NBODY_6.5K PARALLEL MEASUREMENT 0: 167818
NBODY_6.5K PARALLEL MEASUREMENT 1: 177497
NBODY_6.5K PARALLEL MEASUREMENT 2: 143872
NBODY_6.5K PARALLEL AVERAGE : 163062.33333333334
NBODY_6.5K SEQ/PAR RATIO : 0.04257063249841063
NBODY_6.5K PAR/SEQ RATIO : 23.490372148859546
NBODY_6.5K IMPROVEMENT : -2249%
Warming up sequential runs
.
Measuring sequential runs
Measuring parallel runs
Checking correctness
NBODY_7K SEQUENTIAL MEASUREMENT 0: 8987
NBODY_7K SEQUENTIAL MEASUREMENT 1: 9335
NBODY_7K SEQUENTIAL MEASUREMENT 2: 9226
NBODY_7K SEQUENTIAL AVERAGE: 9182.666666666666
NBODY_7K PARALLEL MEASUREMENT 0: 207670
NBODY_7K PARALLEL MEASUREMENT 1: 194978
NBODY_7K PARALLEL MEASUREMENT 2: 207259
NBODY_7K PARALLEL AVERAGE : 203302.33333333334
NBODY_7K SEQ/PAR RATIO : 0.0451675419367215
NBODY_7K PAR/SEQ RATIO : 22.139792362421957
NBODY_7K IMPROVEMENT : -2113%
Warming up sequential runs
.
Measuring sequential runs
Measuring parallel runs
Checking correctness
NBODY_7.5K SEQUENTIAL MEASUREMENT 0: 10769
NBODY_7.5K SEQUENTIAL MEASUREMENT 1: 10547
NBODY_7.5K SEQUENTIAL MEASUREMENT 2: 10895
NBODY_7.5K SEQUENTIAL AVERAGE: 10737
NBODY_7.5K PARALLEL MEASUREMENT 0: 255061
NBODY_7.5K PARALLEL MEASUREMENT 1: 230979
NBODY_7.5K PARALLEL MEASUREMENT 2: 232303
NBODY_7.5K PARALLEL AVERAGE : 239447.66666666666
NBODY_7.5K SEQ/PAR RATIO : 0.04484069587926659
NBODY_7.5K PAR/SEQ RATIO : 22.301170407624724
NBODY_7.5K IMPROVEMENT : -2130%
Warming up sequential runs
.
Measuring sequential runs
Measuring parallel runs
Checking correctness
NBODY_8K SEQUENTIAL MEASUREMENT 0: 11502
NBODY_8K SEQUENTIAL MEASUREMENT 1: 11342
NBODY_8K SEQUENTIAL MEASUREMENT 2: 11132
NBODY_8K SEQUENTIAL AVERAGE: 11325.333333333334
NBODY_8K PARALLEL MEASUREMENT 0: 132219
NBODY_8K PARALLEL MEASUREMENT 1: 128283
NBODY_8K PARALLEL MEASUREMENT 2: 105531
NBODY_8K PARALLEL AVERAGE : 122011
NBODY_8K SEQ/PAR RATIO : 0.09282223187526809
NBODY_8K PAR/SEQ RATIO : 10.773281139627972
NBODY_8K IMPROVEMENT : -977%
Warming up sequential runs
.
Measuring sequential runs
Measuring parallel runs
Assertion failure: absolute_ && raw_ != (uint8_t *) 0xdeadc0de, at /Users/fklock/Dev/Mozilla/iontrail/js/src/ion/shared/Assembler-shared.h:444
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
js::ion::CodeLocationJump::raw (this=0x7fff5fbd0890) at Assembler-shared.h:444
(gdb) bt
#0 js::ion::CodeLocationJump::raw (this=0x7fff5fbd0890) at Assembler-shared.h:444
#1 0x00000001009ea082 in js::ion::PatchJump (jump={raw_ = 0xdeadc0de <Address 0xdeadc0de out of bounds>, absolute_ = true, jumpTableEntry_ = 0xdeadab1e <Address 0xdeadab1e out of bounds>}, label={raw_ = 0x106eee0f6 "<felix-deleted-non-utf8-garbage-in-string>", absolute_ = true}) at Assembler-x64.h:600
#2 0x00000001009e8909 in js::ion::IonCache::reset (this=0x104034698) at /Users/fklock/Dev/Mozilla/iontrail/js/src/ion/IonCaches.cpp:1359
#3 0x00000001009e886f in js::ion::ParallelGetPropertyIC::reset (this=0x104034698) at /Users/fklock/Dev/Mozilla/iontrail/js/src/ion/IonCaches.cpp:1145
#4 0x0000000100947f34 in js::ion::IonScript::purgeCaches (this=0x104034600, c=0x10289dc00) at /Users/fklock/Dev/Mozilla/iontrail/js/src/ion/Ion.cpp:801
#5 0x0000000100950334 in js::ion::PurgeCaches (script=0x103337448, c=0x10289dc00) at /Users/fklock/Dev/Mozilla/iontrail/js/src/ion/Ion.cpp:2366
#6 0x00000001001f6cf8 in js::PurgeJITCaches (c=0x10289dc00) at /Users/fklock/Dev/Mozilla/iontrail/js/src/jsgc.cpp:4874
#7 0x00000001001512f6 in JSCompartment::discardJitCode (this=0x10289dc00, fop=0x7fff5fbd0f20, discardConstraints=false) at /Users/fklock/Dev/Mozilla/iontrail/js/src/jscompartment.cpp:598
#8 0x00000001001514cd in JSCompartment::sweep (this=0x10289dc00, fop=0x7fff5fbd0f20, releaseTypes=true) at /Users/fklock/Dev/Mozilla/iontrail/js/src/jscompartment.cpp:632
#9 0x00000001001fc48b in BeginSweepingZoneGroup (rt=0x10180ec00) at /Users/fklock/Dev/Mozilla/iontrail/js/src/jsgc.cpp:3630
#10 0x00000001001f9d6e in BeginSweepPhase (rt=0x10180ec00) at /Users/fklock/Dev/Mozilla/iontrail/js/src/jsgc.cpp:3728
#11 0x00000001001f8ac7 in IncrementalCollectSlice (rt=0x10180ec00, budget=0, reason=JS::gcreason::ALLOC_TRIGGER, gckind=js::GC_NORMAL) at /Users/fklock/Dev/Mozilla/iontrail/js/src/jsgc.cpp:4249
#12 0x00000001001f7cca in GCCycle (rt=0x10180ec00, incremental=false, budget=0, gckind=js::GC_NORMAL, reason=JS::gcreason::ALLOC_TRIGGER) at /Users/fklock/Dev/Mozilla/iontrail/js/src/jsgc.cpp:4382
#13 0x00000001001f504f in Collect (rt=0x10180ec00, incremental=false, budget=0, gckind=js::GC_NORMAL, reason=JS::gcreason::ALLOC_TRIGGER) at /Users/fklock/Dev/Mozilla/iontrail/js/src/jsgc.cpp:4510
#14 0x00000001001ee66c in js::GC (rt=0x10180ec00, gckind=js::GC_NORMAL, reason=JS::gcreason::ALLOC_TRIGGER) at /Users/fklock/Dev/Mozilla/iontrail/js/src/jsgc.cpp:4532
#15 0x0000000100525dfb in js::ForkJoinShared::check (this=0x7fff5fbd1a20, slice=@0x7fff5fbd17c8) at /Users/fklock/Dev/Mozilla/iontrail/js/src/vm/ForkJoin.cpp:1045
#16 0x0000000100526817 in js::ForkJoinSlice::check (this=0x7fff5fbd17c8) at /Users/fklock/Dev/Mozilla/iontrail/js/src/vm/ForkJoin.cpp:1263
#17 0x0000000100ad1164 in js::ion::ParCheckInterrupt (slice=0x7fff5fbd17c8) at /Users/fklock/Dev/Mozilla/iontrail/js/src/ion/ParallelFunctions.cpp:152
#18 0x0000000106eebfe7 in ?? ()
(gdb) f
#0 js::ion::CodeLocationJump::raw (this=0x7fff5fbd0890) at Assembler-shared.h:444
(gdb) p absolute_
$1 = true
(gdb) p raw_
$2 = (uint8_t *) 0xdeadc0de <Address 0xdeadc0de out of bounds>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment