Skip to content

--trace-sync-io regression between v10.10 and v10.11 #28913

@ChALkeR

Description

@ChALkeR
  • Version: 10.11, 10.16.0, 12.7.0, v13.0.0-pre (master)
  • Platform: Darwin MacBook-ChALkeR.local 18.5.0 Darwin Kernel Version 18.5.0: Mon Mar 11 20:40:32 PDT 2019; root:xnu-4903.251.3~3/RELEASE_X86_64 x86_64
  • Subsystem: lib/src

--trace-sync-io is not expected to produce output before the first tick, and is not expected to print things when the source file does not trigger sync io. Both expectations fail now.

Examples:

Nothing

// Nothing

Expected, v10.10.0: nothing, .

Obtained (v10.11.0, v12.7.0 is almost equivalent with trace differences):

Click to expand
(node:18126) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18126) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18126) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18126) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18126) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18126) WARNING: Detected use of sync API
    at openSync (fs.js:433:26)
    at readFileSync (fs.js:341:35)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:20)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18126) WARNING: Detected use of sync API
    at tryStatSync (fs.js:303:25)
    at readFileSync (fs.js:343:17)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:20)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18126) WARNING: Detected use of sync API
    at readSync (fs.js:489:26)
    at tryReadSync (fs.js:330:20)
    at readFileSync (fs.js:367:19)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:20)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18126) WARNING: Detected use of sync API
    at closeSync (fs.js:400:11)
    at readFileSync (fs.js:376:8)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:20)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)

No output expected

const fs = require('fs');
fs.statSync(process.argv[0])

Expected, v10.10: nothing, .

Obtained (v10.11.0, v12.7.0 is almost equivalent with trace differences):

Click to expand
(node:18792) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18792) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18792) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18792) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18792) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18792) WARNING: Detected use of sync API
    at openSync (fs.js:433:26)
    at readFileSync (fs.js:341:35)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:20)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18792) WARNING: Detected use of sync API
    at tryStatSync (fs.js:303:25)
    at readFileSync (fs.js:343:17)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:20)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18792) WARNING: Detected use of sync API
    at readSync (fs.js:489:26)
    at tryReadSync (fs.js:330:20)
    at readFileSync (fs.js:359:19)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:20)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18792) WARNING: Detected use of sync API
    at closeSync (fs.js:400:11)
    at readFileSync (fs.js:376:8)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:20)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18792) WARNING: Detected use of sync API
    at statSync (fs.js:827:25)
    at /Users/chalker/repo/node/4.js:2:4
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)

Note how statSync call is also included (it shouldn't be), this is not just the garbage in the front.

Some output expected

const fs = require('fs');
setTimeout(() => {
  fs.statSync(process.argv[0])
}, 100)

Expected, v10.10:

(node:17902) WARNING: Detected use of sync API
    at statSync (fs.js:827:25)
    at setTimeout (/Users/chalker/repo/node/4.js:3:6)
    at ontimeout (timers.js:425:11)
    at tryOnTimeout (timers.js:289:5)
    at listOnTimeout (timers.js:252:5)

Obtained (v10.11.0, v12.7.0 is almost equivalent with trace differences):

Click to expand
(node:18815) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18815) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18815) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18815) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18815) WARNING: Detected use of sync API
    at realpathSync (fs.js:1434:29)
    at toRealPath (internal/modules/cjs/loader.js:202:13)
    at Module._findPath (internal/modules/cjs/loader.js:268:22)
    at Module._resolveFilename (internal/modules/cjs/loader.js:578:25)
    at Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18815) WARNING: Detected use of sync API
    at openSync (fs.js:433:26)
    at readFileSync (fs.js:341:35)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:20)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18815) WARNING: Detected use of sync API
    at tryStatSync (fs.js:303:25)
    at readFileSync (fs.js:343:17)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:20)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18815) WARNING: Detected use of sync API
    at readSync (fs.js:489:26)
    at tryReadSync (fs.js:330:20)
    at readFileSync (fs.js:359:19)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:20)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18815) WARNING: Detected use of sync API
    at closeSync (fs.js:400:11)
    at readFileSync (fs.js:376:8)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:20)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:279:19)
(node:18815) WARNING: Detected use of sync API
    at statSync (fs.js:827:25)
    at setTimeout (/Users/chalker/repo/node/4.js:3:6)
    at ontimeout (timers.js:425:11)
    at tryOnTimeout (timers.js:289:5)
    at listOnTimeout (timers.js:252:5)

Refs: #1707

Metadata

Metadata

Assignees

No one assigned

    Labels

    lib / srcIssues and PRs related to general changes in the lib or src directory.regressionIssues related to regressions.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions