Skip to content

tst.jsfindrefs.js passes some of the time #118

Closed
@mgerdts

Description

@mgerdts

I found that make test was failing in tst.jsfindrefs.js after some changes I made. And then they passed. And then they didn't. Here's two successive runs with no changes in between using unmodified bits from master @ 43ac5f6. This is using gcc 4.7.3 on joyent_20180921T223234Z.

$ /usr/node/bin/node --version
v0.10.26
$ PATH=/usr/node/bin:$PATH pfexec tools/catest test/standalone/tst.jsfindrefs.js
Configuration:
    SRC:                         /home/mgerdts/mdb_v8
    Output directory:            /var/tmp/catest.670100
    Temp directory:              /var/tmp/catest.670100_tmpfiles
    Keep successful test output: false
    Found 1 test(s) to run

===================================================

Executing test test/standalone/tst.jsfindrefs.js ... success.

===================================================

Results:
        Tests passed:    1/ 1
        Tests failed:    0/ 1

===================================================
Cleaning up output from successful tests ... done.

$ PATH=/usr/node/bin:$PATH pfexec tools/catest test/standalone/tst.jsfindrefs.js
Configuration:
    SRC:                         /home/mgerdts/mdb_v8
    Output directory:            /var/tmp/catest.670245
    Temp directory:              /var/tmp/catest.670245_tmpfiles
    Keep successful test output: false
    Found 1 test(s) to run

===================================================

Executing test test/standalone/tst.jsfindrefs.js ... FAILED.
>>> failure details in /var/tmp/catest.670245/failure.0


===================================================

Results:
        Tests passed:    0/ 1
        Tests failed:    1/ 1

===================================================
Cleaning up output from successful tests ... done.
$ cat /var/tmp/catest.670245/failure.0/*err
gcoreSelf: begin
gcoreSelf: dtrace stdout: mdb_v8: dtrace has started tracing
gcoreSelf: dtrace is tracing
gcoreSelf: dtrace stdout: gcore: /var/tmp/node.670280 dumped
gcoreSelf: waiting extra
gcoreSelf: dtrace stdout: mdb_v8: gcore has finished
gcoreSelf: gcore completed
gcoreSelf: dtrace stdout:
gcoreSelf: gcore created /var/tmp/node.670280
> 1000$w
output page width = 1024

> ::load /home/mgerdts/mdb_v8/build/ia32/mdb_v8.so
mdb_v8 version: 1.4.0 (dev)
V8 version: 3.14.5.9
Autoconfigured V8 support from target
C++ symbol demangling enabled

> ::findjsobjects -p testObjectFinished | ::findjsobjects | ::jsprint -b testObjectFinished
b5fcf661: true

test object:  b5fcf661
test: locating top-level property addresses
> b5fcf661::jsprint -ad1
b5fcf661: {
    "aString": a64277ed: "^regular expression!$",
    "aDummyString": a6427879: "dummy",
    "aLongerString": a642782d: "0123456789012345678901234567890123456789",
    "aRegExp": b5fcf711: JSRegExp: "^regular expression!$",
    "aBigObject": b5fcf6b5: [...],
    "aSubObject": b5fcf6a9: [...],
    "anArray": b5fcf78d: [...],
    "aSlicedString": b5fcf7f9: "123456789012345678901234567890123456",
    "aConsString": b5fcf80d: "^regular expression!$boom",
    "aClosure": b5fcf821: function leakClosureVariables,
    "aBoundFunction": b5fcf8c1: function <anonymous> (as b),
    "aNull": ba808081: null,
    "anUndefined": ba808091: undefined,
    "aTrue": ba8080a1: true,
    "aFalse": ba8080b1: false,
    "testObjectFinished": ba8080a1: true,
}

{ aString: 'a64277ed',
  aDummyString: 'a6427879',
  aLongerString: 'a642782d',
  aRegExp: 'b5fcf711',
  aBigObject: 'b5fcf6b5',
  aSubObject: 'b5fcf6a9',
  anArray: 'b5fcf78d',
  aSlicedString: 'b5fcf7f9',
  aConsString: 'b5fcf80d',
  aClosure: 'b5fcf821',
  aBoundFunction: 'b5fcf8c1',
  aNull: 'ba808081',
  anUndefined: 'ba808091',
  aTrue: 'ba8080a1',
  aFalse: 'ba8080b1',
  testObjectFinished: 'ba8080a1' }
test: normal output for single-reference properties
> b5fcf711::jsfindrefs
b5fcf661

> b5fcf6b5::jsfindrefs
b5fcf661

> b5fcf6a9::jsfindrefs
b5fcf661

> b5fcf78d::jsfindrefs
b5fcf661

> b5fcf7f9::jsfindrefs
b5fcf661

> b5fcf80d::jsfindrefs
b5fcf661

> b5fcf821::jsfindrefs
b5fcf661

test: verbose output for single-reference properties
> b5fcf711::jsfindrefs -v
b5fcf661 (type: JSObject)

> b5fcf6b5::jsfindrefs -v
b5fcf661 (type: JSObject)

> b5fcf6a9::jsfindrefs -v
b5fcf661 (type: JSObject)

> b5fcf78d::jsfindrefs -v
b5fcf661 (type: JSObject)

> b5fcf7f9::jsfindrefs -v
b5fcf661 (type: JSObject)

> b5fcf80d::jsfindrefs -v
b5fcf661 (type: JSObject)

> b5fcf821::jsfindrefs -v
b5fcf661 (type: JSObject)

test: sliced string reference
> a642782d::jsfindrefs ! sort
8043f19
b5fcf661
b5fcf7f9

> a642782d::jsfindrefs -v ! sort
8043f19 (type: Oddball)
b5fcf661 (type: JSObject)
b5fcf7f9 (type: SlicedString)


assert.js:92
  throw new assert.AssertionError({
        ^
AssertionError: 2 === 3
    at Object.splitMdbLines (/home/mgerdts/mdb_v8/test/standalone/common.js:425:10)
    at /home/mgerdts/mdb_v8/test/standalone/tst.jsfindrefs.js:223:18
    at next (/home/mgerdts/mdb_v8/node_modules/vasync/lib/vasync.js:843:6)
    at /home/mgerdts/mdb_v8/test/standalone/tst.jsfindrefs.js:212:4
    at MdbSession.doWork (/home/mgerdts/mdb_v8/test/standalone/common.js:128:2)
    at Socket.<anonymous> (/home/mgerdts/mdb_v8/test/standalone/common.js:275:7)
    at Socket.EventEmitter.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:746:14)
    at Socket.EventEmitter.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:408:10)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions