[v22.x] `parallel/test-fs-utimes-y2K38` fails with `Error: EINVAL: invalid argument, utime` on armv7
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- JavaScript
- Star
- 122k
- Fork
- 37.4k
- Merge trung bình
- 4 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 272
Mô tả
parallel/test-fs-utimes-y2K38 is failing in Debian 13 armv7 containers in our Jenkins CI.
Refs: https://github.com/nodejs/build/pull/4358#issuecomment-4662053132
e.g.
16:23:21 not ok 1312 parallel/test-fs-utimes-y2K38
16:23:21 ---
16:23:21 duration_ms: 328.27900
16:23:21 severity: fail
16:23:21 exitcode: 1
16:23:21 stack: |-
16:23:21 node:fs:2199
16:23:21 binding.utimes(
16:23:21 ^
16:23:21
16:23:21 Error: EINVAL: invalid argument, utime '/home/iojs/tmp/.tmp.1312/test-utimes-precision'
16:23:21 at Object.utimesSync (node:fs:2199:11)
16:23:21 at Object.<anonymous> (/home/iojs/build/workspace/node-test-binary-armv7l/test/parallel/test-fs-utimes-y2K38.js:46:4)
16:23:21 at Module._compile (node:internal/modules/cjs/loader:1781:14)
16:23:21 at Module._extensions..js (node:internal/modules/cjs/loader:1913:10)
16:23:21 at Module.load (node:internal/modules/cjs/loader:1505:32)
16:23:21 at Module._load (node:internal/modules/cjs/loader:1309:12)
16:23:21 at wrapModuleLoad (node:internal/modules/cjs/loader:254:19)
16:23:21 at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)
16:23:21 at node:internal/main/run_main_module:36:49 {
16:23:21 errno: -22,
16:23:21 code: 'EINVAL',
16:23:21 syscall: 'utime',
16:23:21 path: '/home/iojs/tmp/.tmp.1312/test-utimes-precision'
16:23:21 }
16:23:21
16:23:21 Node.js v22.22.4-pre
16:23:21 ...
The test is skipped on the earlier Debian 11 armv7 containers, nor on the Ubuntu 22.04 containers:
e.g.
10:13:26 ok 1461 parallel/test-fs-utimes-y2K38 # skip File system appears to lack Y2K38 support (touch failed)
10:13:26 ---
10:13:26 duration_ms: 135.82300
10:13:26 ...
which indicates that the underlying filesystem doesn't support y2k38. However on Debian 13 we are not skipping (i.e. the touch and date sniff tests pass) and the invalid argument is being thrown when the later parts of the test run.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với test/parallel/test-fs-utimes-y2K38.js, đặc biệt là các kiểm tra skip và lệnh gọi utimesSync được báo cáo ở dòng 46. Tái hiện bài kiểm tra trong một container Debian 13 armv7 và so sánh việc phát hiện touch/date của nó với các thao tác timestamp về sau. Được xem là hoàn tất khi bài kiểm tra xử lý đúng hành vi của hệ thống tệp này mà không phát sinh lỗi EINVAL ngoài dự kiến.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- debian, javascript, linux
- Lĩnh vực
- operating-systems, testing-qa
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 52/100