Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test-fs-utimes-y2K38 fails on 32-bit platforms with 64-bit time_t #45906

Open
awilfox opened this issue Dec 19, 2022 · 1 comment
Open

test-fs-utimes-y2K38 fails on 32-bit platforms with 64-bit time_t #45906

awilfox opened this issue Dec 19, 2022 · 1 comment
Labels
test Issues and PRs related to the tests.

Comments

@awilfox
Copy link
Contributor

awilfox commented Dec 19, 2022

Version

v18.12.1

Platform

Linux ember.foxkit.us 5.15.44-mc2-easy #1 SMP Wed Aug 17 20:37:04 UTC 2022 i686 GNU/Linux

Subsystem

fs

What steps will reproduce the bug?

  1. make jstest on a 32-bit computer with 64-bit time_t.

How often does it reproduce? Is there a required condition?

Always reproducible on any 32-bit computer with 64-bit time_t. This includes Linux musl libc, and glibc when _TIME_BITS=64.

What is the expected behavior?

Passing tests.

What do you see instead?

=== release test-fs-utimes-y2K38 ===                                          
Path: parallel/test-fs-utimes-y2K38
node:assert:124
  throw new AssertionError(obj);
  ^

AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected

+ -2147483648
- 2147483648
    at Object.<anonymous> (/usr/src/packages/user/node/src/node-v18.12.1/test/parallel/test-fs-utimes-y2K38.js:48:8)
    at Module._compile (node:internal/modules/cjs/loader:1159:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
    at Module.load (node:internal/modules/cjs/loader:1037:32)
    at Module._load (node:internal/modules/cjs/loader:878:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47 {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: -2147483648,
  expected: 2147483648,
  operator: 'strictEqual'
}

Node.js v18.12.1
Command: out/Release/node /usr/src/packages/user/node/src/node-v18.12.1/test/parallel/test-fs-utimes-y2K38.js

Additional information

This is passing on the 16 LTS branch. It seems like it may be fallout from #43714 but I'm not sure.

@VoltrexKeyva VoltrexKeyva added the test Issues and PRs related to the tests. label Dec 19, 2022
@bnoordhuis
Copy link
Member

bnoordhuis commented Dec 19, 2022

cc @LiviaMedeiros

Libuv is probably also partially - if not wholly - to blame for using long for uv_timespec_t.tv_sec.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
test Issues and PRs related to the tests.
Projects
None yet
Development

No branches or pull requests

3 participants