Skip to content

Calling Intl.v8BreakIterator w/o ICU data in VM context makes the process crash #14909

Description

@TimothyGu

#3111 / #4253 fixed this in the main context, but the bug applies to VM contexts too unfortunately.

$ node -p "vm.runInNewContext('new Intl.v8BreakIterator()')"


#
# Fatal error in , line 0
# Failed to create ICU break iterator, are ICU data files missing?
#

==== C stack trace ===============================

    node(v8::base::debug::StackTrace::StackTrace()+0x16) [0x15c8c36]
    node() [0x1451857]
    node(V8_Fatal+0xd8) [0x15c3998]
    node() [0x1116487]
    node(v8::internal::Runtime_CreateBreakIterator(int, v8::internal::Object**, v8::internal::Isolate*)+0x170) [0x1200a40]
    [0x1ec0a1974998]
Illegal instruction

Offending line:

FATAL("Failed to create ICU break iterator, are ICU data files missing?");

At this point I'm thinking of just including the data files needed for the break iterator to work even if it's not part of the ECMA-402 spec yet.

/cc @nodejs/intl @srl295

Activity

  1. added
    i18n-apiIssues and PRs related to Node.js internationalization support.
    vmIssues and PRs related to the vm subsystem.
    v8 engineIssues and PRs related to the V8 dependency.
    on Aug 18, 2017
  2. bnoordhuis commented on Aug 18, 2017

    @bnoordhuis
    Member

    That won't help in non-intl builds, though. In retrospect, we should have sent a patch upstream to turn that abort into an exception, instead of the hack from #4253. Shouldn't be too hard, I'll try that later today.

  3. TimothyGu commented on Aug 18, 2017

    @TimothyGu
    MemberAuthor

    Non-Intl builds don't include this function so there's no issue there.

  4. bnoordhuis commented on Aug 18, 2017

    @bnoordhuis
    Member

    Sorry, I mean --with-intl=system builds.

  5. bnoordhuis commented on Aug 18, 2017

    @bnoordhuis
    Member
  6. added a commit that references this issue on Sep 13, 2017
  7. added a commit that references this issue on Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    i18n-apiIssues and PRs related to Node.js internationalization support.v8 engineIssues and PRs related to the V8 dependency.vmIssues and PRs related to the vm subsystem.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions