Had a look at the test failures:
- python-werkzeug:
tests/test_serving.py: ConnectionRefusedError: [Errno 111] Connection
refused
Not sure what is causing this. Some other linux distributions disable
this test (this package has a lot of dependants though)
- skia
../../src/base/SkContainers.cpp:66: fatal error: "assert(capacity >= 0)"
The function that is causing the error looks like this
#+begin_src cpp
size_t SkContainerAllocator::roundUpCapacity(int64_t capacity) const {
SkASSERT(capacity >= 0);
// If round will not go above fMaxCapacity return rounded capacity.
if (capacity < fMaxCapacity - kCapacityMultiple) {
return SkAlignTo(capacity, kCapacityMultiple);
}
return SkToSizeT(fMaxCapacity);
}
#+end_src
In the same file there is another function which calls roundUpCapacity
which looks like it can overflow because things get castet to int64_t
after the multiplication which will fail to catch the overflow
#+begin_src cpp
size_t SkContainerAllocator::growthFactorCapacity(int capacity, double
growthFactor) const {
SkASSERT(capacity >= 0);
SkASSERT(growthFactor >= 1.0);
// Multiply by the growthFactor. Remember this must be done in
64-bit ints and not
// size_t because size_t changes.
const int64_t capacityGrowth = static_cast<int64_t>(capacity *
growthFactor);
// Notice that for small values of capacity, rounding up will
provide most of the growth.
return this->roundUpCapacity(capacityGrowth);
}
#+end_src
- node:
In tests/parallel/test-fs-utimes-y2K38.js
this is failing:
#+begin_src js
const path = `${tmpdir.path}/test-utimes-precision`;
fs.writeFileSync(path, '');
const Y2K38_mtime = 2 ** 31;
fs.utimesSync(path, Y2K38_mtime, Y2K38_mtime);
#+end_src
with
#+begin_example
not ok 1133 parallel/test-fs-utimes-y2K38
---
duration_ms: 157.49700
severity: fail
exitcode: 1
stack: |-
node:internal/fs/utils:351
throw err;
^
Error: EINVAL: invalid argument, utime
'/tmp/guix-build-node-18.19.0.drv-0/node-v18.19.0/test/.tmp.1155/test-utimes-precision'
at Object.utimesSync (node:fs:2134:3)
at Object.<anonymous>
(/tmp/guix-build-node-18.19.0.drv-0/node-v18.19.0/test/parallel/test-fs-utimes-y2K38.js:46:4)
at Module._compile (node:internal/modules/cjs/loader:1356:14)
at Module._extensions..js
(node:internal/modules/cjs/loader:1414:10)
at Module.load (node:internal/modules/cjs/loader:1197:32)
at Module._load (node:internal/modules/cjs/loader:1013:12)
at Function.executeUserEntryPoint [as runMain]
(node:internal/modules/run_main:128:12)
at node:internal/main/run_main_module:28:49 {
errno: -22,
syscall: 'utime',
code: 'EINVAL',
path:
'/tmp/guix-build-node-18.19.0.drv-0/node-v18.19.0/test/.tmp.1155/test-utimes-precision'
}
Node.js v18.19.0
#+end_example
This seems to be another overflow/integer too big error as 2**31 -1 works.