Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Node.js crash with a fatal error on Date#toLocaleString #27379

Closed
mysticatea opened this issue Apr 24, 2019 · 20 comments

Comments

Projects
None yet
@mysticatea
Copy link

commented Apr 24, 2019

  • Version: 12.0.0
  • Platform: Windows (Japanese)
  • Subsystem:

Node.js crash with a fatal error on a call of Date#toLocaleString.
I know that Node.js doesn't contain full ICU, but I didn't expect it to crash with a fatal error.

> node -e "new Date().toLocaleString()"

#
# Fatal error in , line 0
# Check failed: U_SUCCESS(status).
#
#
#
#FailureMessage Object: 000000F1A52FD440
@fgreinus

This comment has been minimized.

Copy link

commented Apr 24, 2019

You need full icu support in order to use Intl-related functionality.

I fixed it using https://github.com/unicode-org/full-icu-npm and doing what it printed when i installed it.

@gsbelarus

This comment has been minimized.

Copy link

commented Apr 24, 2019

Me too. Reverted to v 11.14.0.

@joyeecheung

This comment has been minimized.

Copy link
Member

commented Apr 24, 2019

@inoyakaigor

This comment has been minimized.

Copy link

commented Apr 24, 2019

Same error here:
v 12.0.0
macos 10.14.4
If it means locale is Russian

Got error:

/* Connecting to MySQL database via db.authenticate() method of sequelize */


#
# Fatal error in , line 0
# Check failed: U_SUCCESS(status).
#
#
#
#FailureMessage Object: 0x7ffeefbfe020Illegal instruction: 4

@srl295 srl295 self-assigned this Apr 24, 2019

@srl295

This comment has been minimized.

Copy link
Member

commented Apr 24, 2019

aaargh.. Confirmed.

I'm going to say it's probably a v8 regression at this poin, probbaly in deps/v8/src//objects/js-date-time-format.cc

LC_ALL=ja node -e "new Date().toLocaleString()"

@refack refack added V8 Engine and removed windows labels Apr 24, 2019

@refack refack changed the title Node.js crash with a fatal error on Date#toLocaleString on Windows Node.js crash with a fatal error on Date#toLocaleString Apr 24, 2019

@srl295

This comment has been minimized.

Copy link
Member

commented Apr 24, 2019

Problem doesn't appear in 8549ac0

@srl295

This comment has been minimized.

Copy link
Member

commented Apr 24, 2019

@srl295

This comment has been minimized.

Copy link
Member

commented Apr 24, 2019

Ooh, this may actually be due to https://unicode-org.atlassian.net/browse/ICU-20558 which we are discussing in ICU-TC at this very instant. If so it's not a v8 bug strictly but was a regression in ICU 63 (and 64)

@srl295

This comment has been minimized.

Copy link
Member

commented Apr 24, 2019

OK so confirmed, IF it were possible to compile ICU 62 against v12/master's v8 (which it isn't with out HACK HACK HACK => srl295@5972e3e ) that this would not be seen.

So I can confirm this is an ICU 63 regression.

@ryzokuken

This comment has been minimized.

Copy link
Member

commented Apr 24, 2019

@srl295 Node 12 doesn't have V8 74 yet?

@srl295

This comment has been minimized.

Copy link
Member

commented Apr 24, 2019

@ryzokuken 62/63 are ICU not v8 versions

@srl295

This comment has been minimized.

Copy link
Member

commented Apr 24, 2019

OK, so I verified that the open ICU PR unicode-org/icu#632 applied as a floating patch against ICU 63.x and also upcoming 64.x resolves this. Once the ICU PR lands, I'll open a PR as a floating patch. (@ryzokuken it won't conflict with your PR)

@richardlau richardlau pinned this issue Apr 25, 2019

@bluelovers

This comment has been minimized.

Copy link

commented Apr 25, 2019

#
# Fatal error in , line 0
# Check failed: U_SUCCESS(status).
#
#
#
#FailureMessage Object: 000000FB603EDB50

srl295 added a commit to srl295/node that referenced this issue Apr 25, 2019

deps: backport ICU-20558 to fix Intl crasher
Floating patch for ICU 63.x and 64.x
fixing crash in Intl when ICU data not found.

Background:
- ICU-13778 (landed in ICU 63.1) fixed a bug but
added a regression.
- a recent v8 land in Node v12 (which one?) exposes
this bug to cause a crash when ICU data is not found.

ICU Bug: https://unicode-org.atlassian.net/browse/ICU-20558
Backport of: unicode-org/icu#632
(Commit not landed yet in ICU)
Fixes: nodejs#27379
@srl295

This comment has been minimized.

Copy link
Member

commented Apr 25, 2019

Note that this does not repro with the following, because the issue has to do with the default locale.

node -p "new Intl.DateTimeFormat(['ja']).format(new Date())"

@srl295 srl295 referenced this issue Apr 25, 2019

Closed

deps: backport ICU-20558 to fix Intl crasher #27415

2 of 2 tasks complete

srl295 added a commit to srl295/node that referenced this issue Apr 25, 2019

deps: backport ICU-20558 to fix Intl crasher
- Floating patch for ICU 63.x and 64.x
- fixing crash in Intl when ICU data not found.
- Regression test from refack included.

Background:
- ICU-13778 (landed in ICU 63.1) fixed a bug but
added a regression.
- a recent v8 land in Node v12 (which one?) exposes
this bug to cause a crash when ICU data is not found.

ICU Bug: https://unicode-org.atlassian.net/browse/ICU-20558
Backport of: unicode-org/icu#632
(Commit not landed yet in ICU)
Fixes: nodejs#27379
Co-authored-by: Refael Ackermann <refack@gmail.com>
@luozhihua

This comment has been minimized.

Copy link

commented Apr 26, 2019

webpack --watch and tsc --watch threw the same error:

#
# Fatal error in , line 0
# Check failed: U_SUCCESS(status).
#
#
#
#FailureMessage Object: 0x7ffc98e77040fish: 'tsc --watch' terminated by signal SIGILL

Issues: #31111

@bluelovers

This comment has been minimized.

Copy link

commented Apr 26, 2019

no hotfix for this?

@srl295

This comment has been minimized.

Copy link
Member

commented Apr 26, 2019

@bluelovers I'm not sure what you are asking. #27415 is the PR that fixes this.

@bluelovers

This comment has been minimized.

Copy link

commented Apr 26, 2019

@srl295 sry, i mean a released hotfix like 12.0.x

@srl295

This comment has been minimized.

Copy link
Member

commented Apr 26, 2019

@bluelovers it's set to be fast tracked, so dot version soon after it lands…?

targos added a commit to targos/node that referenced this issue Apr 27, 2019

deps: backport ICU-20558 to fix Intl crasher
- Floating patch for ICU 63.x and 64.x
- fixing crash in Intl when ICU data not found.
- Regression test from refack included.

Background:
- ICU-13778 (landed in ICU 63.1) fixed a bug but
added a regression.
- a recent v8 land in Node v12 (which one?) exposes
this bug to cause a crash when ICU data is not found.

ICU Bug: https://unicode-org.atlassian.net/browse/ICU-20558
Backport of: unicode-org/icu#632
Fixes: nodejs#27379
Co-authored-by: Refael Ackermann <refack@gmail.com>

PR-URL: nodejs#27415
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>

@targos targos closed this in 4a20171 Apr 27, 2019

targos added a commit that referenced this issue Apr 27, 2019

deps: backport ICU-20558 to fix Intl crasher
- Floating patch for ICU 63.x and 64.x
- fixing crash in Intl when ICU data not found.
- Regression test from refack included.

Background:
- ICU-13778 (landed in ICU 63.1) fixed a bug but
added a regression.
- a recent v8 land in Node v12 (which one?) exposes
this bug to cause a crash when ICU data is not found.

ICU Bug: https://unicode-org.atlassian.net/browse/ICU-20558
Backport of: unicode-org/icu#632
Fixes: #27379
Co-authored-by: Refael Ackermann <refack@gmail.com>

PR-URL: #27415
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>

@targos targos unpinned this issue Apr 27, 2019

@targos

This comment has been minimized.

Copy link
Member

commented Apr 27, 2019

PR landed. Proposing a release in #27440 for 2019-04-29.

BethGriggs added a commit that referenced this issue May 10, 2019

deps: backport ICU-20558 to fix Intl crasher
- Floating patch for ICU 63.x and 64.x
- fixing crash in Intl when ICU data not found.
- Regression test from refack included.

Background:
- ICU-13778 (landed in ICU 63.1) fixed a bug but
added a regression.
- a recent v8 land in Node v12 (which one?) exposes
this bug to cause a crash when ICU data is not found.

ICU Bug: https://unicode-org.atlassian.net/browse/ICU-20558
Backport of: unicode-org/icu#632
Fixes: #27379
Co-authored-by: Refael Ackermann <refack@gmail.com>

PR-URL: #27415
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>

BethGriggs added a commit that referenced this issue May 10, 2019

deps: backport ICU-20558 to fix Intl crasher
- Floating patch for ICU 63.x and 64.x
- fixing crash in Intl when ICU data not found.
- Regression test from refack included.

Background:
- ICU-13778 (landed in ICU 63.1) fixed a bug but
added a regression.
- a recent v8 land in Node v12 (which one?) exposes
this bug to cause a crash when ICU data is not found.

ICU Bug: https://unicode-org.atlassian.net/browse/ICU-20558
Backport of: unicode-org/icu#632
Fixes: #27379
Co-authored-by: Refael Ackermann <refack@gmail.com>

PR-URL: #27415
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>

MylesBorins added a commit that referenced this issue May 16, 2019

deps: backport ICU-20558 to fix Intl crasher
- Floating patch for ICU 63.x and 64.x
- fixing crash in Intl when ICU data not found.
- Regression test from refack included.

Background:
- ICU-13778 (landed in ICU 63.1) fixed a bug but
added a regression.
- a recent v8 land in Node v12 (which one?) exposes
this bug to cause a crash when ICU data is not found.

ICU Bug: https://unicode-org.atlassian.net/browse/ICU-20558
Backport of: unicode-org/icu#632
Fixes: #27379
Co-authored-by: Refael Ackermann <refack@gmail.com>

PR-URL: #27415
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>

clydin added a commit to clydin/angular-cli that referenced this issue May 20, 2019

fix(@angular/cli): show error when using x18n command on Node.js 12.0
Node.js 12.0 contains a defect which will cause the command to crash.  This is due to the locale support in Node.js 12.0 (ICU).  ref: nodejs/node#27379

mgechev added a commit to angular/angular-cli that referenced this issue May 22, 2019

fix(@angular/cli): show error when using x18n command on Node.js 12.0
Node.js 12.0 contains a defect which will cause the command to crash.  This is due to the locale support in Node.js 12.0 (ICU).  ref: nodejs/node#27379

mgechev added a commit to angular/angular-cli that referenced this issue May 22, 2019

fix(@angular/cli): show error when using x18n command on Node.js 12.0
Node.js 12.0 contains a defect which will cause the command to crash.  This is due to the locale support in Node.js 12.0 (ICU).  ref: nodejs/node#27379
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.