unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Marius Bakke <mbakke@fastmail.com>
To: guix-devel@gnu.org
Subject: [core-updates] Should we patch icu4c?
Date: Sun, 21 Jul 2019 17:02:04 +0200	[thread overview]
Message-ID: <874l3f5t3n.fsf@devup.no> (raw)

[-- Attachment #1: Type: text/plain, Size: 2755 bytes --]

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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

                 reply	other threads:[~2019-07-21 15:12 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874l3f5t3n.fsf@devup.no \
    --to=mbakke@fastmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).