chakra-core / ChakraCore

ChakraCore is an open source Javascript engine with a C API.
MIT License
9.1k stars 1.19k forks source link

ASSERTION Failure "U_ILLEGAL_ARGUMENT_ERROR" in ChakraCore/lib/Runtime/Library/IntlEngineInterfaceExtensionObject.cpp, line 945 #6804

Open 1789120321 opened 2 years ago

1789120321 commented 2 years ago
commit : 41ad58a
Engine version : ch version 1.13.0.0-beta
Build platform : Ubuntu 18.04
Clang version : 6.0.0
Build steps : ./build.sh --sanitize=address --static -j -d

POC

cat 10aab6552c2849fa81e1ba53001be52d.js
----------------------------------------------------------------------
var number = 5.0260805378947765e+223;
var nf = new Intl.NumberFormat("bs-u-nu-bzcu-cab-cabs-avnlubs-avnihu-zcu-cab-cbs-avnllubs-avnihq-zcu-cab-cbs-ubs-avnihu-cabs-flus-xxd-vnluy" + String.prototype.valueOf.call("v1"));
var f = nf.format(number);

Assert Log

./ch 10aab6552c2849fa81e1ba53001be52d.js
ASSERTION 3909: (ChakraCore-master/lib/Runtime/Library/IntlEngineInterfaceExtensionObject.cpp, line 945) U_ILLEGAL_ARGUMENT_ERROR
 Failure: (false)
Illegal instruction

Hi, Richard, could you please help check this issue?

@rhuanjl

ppenzin commented 2 years ago

Chakra built without sanitizer does not hit this assert, neither does release mode. Need a little more investigation.