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

Assertion `s <= e' failed in Escargot::StringView::StringView #237

Closed
renatahodovan opened this issue May 3, 2019 · 1 comment
Closed

Comments

@renatahodovan
Copy link
Member

Escargot version:
Checked revision: 958b293

Build command: cmake -H. -Bout -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x64 -DESCARGOT_MODE=debug -DESCARGOT_OUTPUT=bin -GNinja && ninja -C out
OS:
Linux-4.15.0-48-generic-x86_64-with-Ubuntu-18.04-bionic
Test case:
Intl.NumberFormat('en-u-foo-U-foo')
Backtrace:
escargot: ../src/runtime/StringView.h:33: Escargot::StringView::StringView(Escargot::String*, size_t, size_t): Assertion `s <= e' failed.

bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff6466801 in __GI_abort () at abort.c:79
#2  0x00007ffff645639a in __assert_fail_base (fmt=0x7ffff65dd7d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55555582d7b3 "s <= e", file=file@entry=0x55555582d797 "../src/runtime/StringView.h", line=line@entry=33, function=function@entry=0x5555558302e0 <Escargot::StringView::StringView(Escargot::String*, unsigned long, unsigned long)::__PRETTY_FUNCTION__> "Escargot::StringView::StringView(Escargot::String*, size_t, size_t)") at assert.c:92
#3  0x00007ffff6456412 in __GI___assert_fail (assertion=0x55555582d7b3 "s <= e", file=0x55555582d797 "../src/runtime/StringView.h", line=33, function=0x5555558302e0 <Escargot::StringView::StringView(Escargot::String*, unsigned long, unsigned long)::__PRETTY_FUNCTION__> "Escargot::StringView::StringView(Escargot::String*, size_t, size_t)") at assert.c:101
#4  0x00005555555c67e6 in Escargot::StringView::StringView (this=0x7ffff461db70, str=0x7ffff45c67f0, s=8, e=6) at ../src/runtime/StringView.h:33
#5  0x00005555557c7acd in Escargot::String::substring (this=0x7ffff45c67f0, from=8, to=6) at ../src/runtime/String.cpp:728
#6  0x000055555570398f in Escargot::lookupMatcher (state=..., availableLocales=..., requestedLocales=...) at ../src/runtime/GlobalObjectBuiltinIntl.cpp:791
#7  0x0000555555703a31 in Escargot::bestFitMatcher (state=..., availableLocales=..., requestedLocales=...) at ../src/runtime/GlobalObjectBuiltinIntl.cpp:805
#8  0x0000555555703e7a in Escargot::resolveLocale (state=..., availableLocales=..., requestedLocales=..., options=0x7ffff46285b0, relevantExtensionKeys=0x555555b36dc0 <Escargot::intlNumberFormatRelevantExtensionKeys>, relevantExtensionKeyCount=1, localeData=0x55555570e48d <Escargot::localeDataNumberFormat(Escargot::String*, size_t)>) at ../src/runtime/GlobalObjectBuiltinIntl.cpp:827
#9  0x000055555570ec68 in Escargot::initializeNumberFormat (state=..., numberFormat=0x7ffff45fc610, locales=..., options=...) at ../src/runtime/GlobalObjectBuiltinIntl.cpp:2219
#10 0x00005555557117d8 in Escargot::builtinIntlNumberFormatConstructor (state=..., thisValue=..., argc=1, argv=0x7fffffffcbb0, isNewExpression=true) at ../src/runtime/GlobalObjectBuiltinIntl.cpp:2472
#11 0x00005555556cd6f2 in Escargot::FunctionObject::processCall (this=0x7ffff45fb490, state=..., receiverSrc=..., argc=1, argv=0x7fffffffcbb0, isNewExpression=true) at ../src/runtime/FunctionObject.cpp:357
#12 0x00005555556cd202 in Escargot::FunctionObject::newInstance (this=0x7ffff45fb490, state=..., argc=1, argv=0x7fffffffcbb0) at ../src/runtime/FunctionObject.cpp:300
#13 0x00005555555fc5d6 in Escargot::ByteCodeInterpreter::newOperation (state=..., callee=..., argc=1, argv=0x7fffffffcbb0) at ../src/interpreter/ByteCodeInterpreter.cpp:1382
#14 0x00005555555f9760 in Escargot::ByteCodeInterpreter::interpret (state=..., byteCodeBlock=0x7ffff7e6bbb0, programCounter=93824999017304, registerFile=0x7fffffffcb50, initAddressFiller=0x0) at ../src/interpreter/ByteCodeInterpreter.cpp:802
#15 0x00005555556000ae in Escargot::ByteCodeInterpreter::tryOperation (state=..., code=0x555555bcca60, ec=0x7ffff45fc930, env=0x7ffff461cb20, programCounter=93824999017056, byteCodeBlock=0x7ffff7e6bbb0, registerFile=0x7fffffffcb50) at ../src/interpreter/ByteCodeInterpreter.cpp:1983
#16 0x00005555555fa1c3 in Escargot::ByteCodeInterpreter::interpret (state=..., byteCodeBlock=0x7ffff7e6bbb0, programCounter=93824999017056, registerFile=0x7fffffffcb50, initAddressFiller=0x0) at ../src/interpreter/ByteCodeInterpreter.cpp:929
#17 0x00005555556ce948 in Escargot::FunctionObject::processCall (this=0x7ffff4631120, state=..., receiverSrc=..., argc=1, argv=0x7fffffffd5c0, isNewExpression=false) at ../src/runtime/FunctionObject.cpp:536
#18 0x00005555555f50dc in Escargot::FunctionObject::call (state=..., callee=..., receiver=..., argc=1, argv=0x7fffffffd5c0, isNewExpression=false) at ../src/runtime/FunctionObject.h:111
#19 0x00005555555f8209 in Escargot::ByteCodeInterpreter::interpret (state=..., byteCodeBlock=0x7ffff7e6bcd0, programCounter=93824999022304, registerFile=0x7fffffffd5b0, initAddressFiller=0x0) at ../src/interpreter/ByteCodeInterpreter.cpp:529
#20 0x0000555555625d97 in Escargot::Script::execute (this=0x7ffff462cb20, state=..., isEvalMode=false, needNewEnv=false, isOnGlobal=true) at ../src/parser/Script.cpp:79
#21 0x0000555555625ee9 in Escargot::Script::<lambda()>::operator()(void) const (__closure=0x7fffffffd980) at ../src/parser/Script.cpp:92
#22 0x0000555555626ef2 in std::_Function_handler<Escargot::Value(), Escargot::Script::sandboxExecute(Escargot::ExecutionState&)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/7/bits/std_function.h:302
#23 0x00005555557bf72c in std::function<Escargot::Value ()>::operator()() const (this=0x7fffffffd980) at /usr/include/c++/7/bits/std_function.h:706
#24 0x00005555557be2df in Escargot::SandBox::run(std::function<Escargot::Value ()> const&) (this=0x7fffffffd8f0, scriptRunner=...) at ../src/runtime/SandBox.cpp:36
#25 0x0000555555625fc6 in Escargot::Script::sandboxExecute (this=0x7ffff462cb20, state=...) at ../src/parser/Script.cpp:93
#26 0x00005555557dbd0c in eval (context=0x7ffff7e5bed0, str=0x7ffff46297f0, fileName=0x7ffff46296b0, shouldPrintScriptResult=false) at ../src/shell/Shell.cpp:47
#27 0x00005555557dc631 in main (argc=2, argv=0x7fffffffdca8) at ../src/shell/Shell.cpp:128

Found by Fuzzinator.

kisbg pushed a commit to kisbg/escargot that referenced this issue May 6, 2019
related Samsung#237

Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
kisbg pushed a commit to kisbg/escargot that referenced this issue May 7, 2019
related Samsung#237

Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
yichoi pushed a commit that referenced this issue May 7, 2019
…238)

related #237

Signed-off-by: bence gabor kis <kisbg@inf.u-szeged.hu>
@renatahodovan
Copy link
Member Author

Fixed by #238 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant