[v22.x] `parallel/test-fs-utimes-y2K38` fails with `Error: EINVAL: invalid argument, utime` on armv7
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 122k
- Forks
- 37.3k
- Ø Merge
- 4 T. 2 Std.
- Gemergte PRs (30 T.)
- 283
Beschreibung
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.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit test/parallel/test-fs-utimes-y2K38.js, insbesondere mit den Skip-Prüfungen und dem utimesSync-Aufruf, der in Zeile 46 gemeldet wird. Reproduziere den Test in einem Debian 13 armv7-Container und vergleiche seine touch/date-Erkennung mit den späteren Zeitstempeloperationen. Erledigt bedeutet, dass der Test dieses Dateisystemverhalten ohne einen unerwarteten EINVAL-Fehler korrekt behandelt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- debian, javascript, linux
- Bereich
- operating-systems, testing-qa
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 52/100