guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[core-updates] Should we patch icu4c?


From: Marius Bakke
Subject: [core-updates] Should we patch icu4c?
Date: Sun, 21 Jul 2019 17:02:04 +0200
User-agent: Notmuch/0.29.1 (https://notmuchmail.org) Emacs/26.2 (x86_64-pc-linux-gnu)

Node's "parallel/test-intl" fails on the 'core-updates' branch when
built for i686-linux:

--8<---------------cut here---------------start------------->8---
not ok 1254 parallel/test-intl
  ---
  duration_ms: 1.308
  severity: fail
  exitcode: 1
  stack: |-
    assert.js:738
        throw newErr;
        ^
    
    AssertionError [ERR_ASSERTION]: ifError got unwanted exception: Command 
failed: /tmp/guix-build-node-10.16.0.drv-0/node-v10.16.0/out/Release/node -p 
new Intl.NumberFormat().resolvedOptions().locale
    munmap_chunk(): invalid pointer
    
        at ChildProcess.exithandler (child_process.js:294:12)
        at ChildProcess.emit (events.js:198:13)
        at maybeClose (internal/child_process.js:982:16)
        at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
  ...
--8<---------------cut here---------------end--------------->8---

This is a regression test for a problem in ICU 64:

https://github.com/nodejs/node/blob/v10.16.0/test/parallel/test-intl.js#L141
https://unicode-org.atlassian.net/browse/ICU-20575

Apparently the V8 workaround only works on 64-bit?

The test succeeds if I build Node with a patched ICU:

--8<---------------cut here---------------start------------->8---
(define %icu4c-patches
  (list (origin
          (method url-fetch)
          (uri (string-append "https://github.com/unicode-org/icu/commit/";
                              "7788f04eb9be0d7ecade6af46cf7b9825447763d.patch"))
          (file-name "icu4c-datetime-regression.patch")
          (sha256
           (base32
            "0gs2sbdfpzwwdjqcqr0c16fw3g7wy3gb1gbgvzs9k1ciw0bhpv4w")))
        (origin
          (method url-fetch)
          (uri (string-append "https://github.com/unicode-org/icu/commit/";
                              "cfb20862909ff105d4f2c43923c97561bc5a5815.patch"))
          (file-name "icu4c-locale-mapping.patch")
          (sha256
           (base32
            "0s5psb60aisj6icziblvlp9dqcz56n3887i8ib0yidbjnnrw5b97")))))
--8<---------------cut here---------------end--------------->8---

The last patch is sufficient to fix this problem, but the other seems
nice to have.  They are taken from the upstream "maint-64" branch:

https://github.com/unicode-org/icu/commits/maint/maint-64

I suspect the locale issue will show up in more packages as we go.

Patching ICU is a good opportunity to fix these issues:

https://issues.guix.gnu.org/issue/36721
https://issues.guix.gnu.org/issue/36722

...since they would not add to the ~50% rebuild count and armhf still
has not gotten this far.

Any volunteers for the second issue (add Python 3 support to Boost)?

CMake experts are welcome to join me in the first quest on #guix :-)

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]