Status: Accepted
Owner: [email protected]
Labels: Type-Bug Priority-Medium

New issue 3029 by [email protected]: Assertion failure in OptimizedFrame::Summarize
http://code.google.com/p/v8/issues/detail?id=3029

While trying to write a repro for another issue, I found that V8 crashes with this

function c(x) {
  undefined.apply(undefined, 0);
}

function f() {
  return new c();
}

function g() {
  f();
}

try { g(); } catch (e) {};
try { g(); } catch (e) {};
%OptimizeFunctionOnNextCall(g);
try { g(); } catch (e) {};


Stack trace is this:

0  v8::internal::OS::DebugBreak () at ../src/platform-posix.cc:285
#1  0x08851000 in v8::internal::OS::Abort () at ../src/platform-posix.cc:263
#2 0x0842e5a0 in V8_Fatal (file=0x8a1c6f2 "../src/frames.cc", line=987, format=0x8a1bb98 "CHECK(%s) failed") at ../src/checks.cc:85 #3 0x084bf306 in v8::internal::OptimizedFrame::Summarize (this=0xffffc374, frames=0xffffc410) at ../src/frames.cc:986 #4 0x085a5aca in v8::internal::Isolate::CaptureSimpleStackTrace (this=0x9718018, error_object=..., caller=..., limit=10) at ../src/isolate.cc:471 #5 0x086d4ff8 in v8::internal::__RT_impl_Runtime_CollectStackTrace (args=..., isolate=0x9718018) at ../src/runtime.cc:14291 #6 0x086d4ea6 in v8::internal::Runtime_CollectStackTrace (args_length=3, args_object=0xffffc538, isolate=0x9718018) at ../src/runtime.cc:14281
#7  0x5580b256 in ?? ()
#8  0x5582e6e2 in ?? ()
#9  0x5582ee57 in ?? ()
#10 0x558408cc in ?? ()
#11 0x5582e2da in ?? ()
#12 0x55849c95 in ?? ()
#13 0x55840b79 in ?? ()
#14 0x5582076a in ?? ()
#15 0x084907b8 in v8::internal::Invoke (is_construct=false, function=..., receiver=..., argc=2, args=0xffffc75c, has_pending_exception=0xffffc78f)
    at ../src/execution.cc:119
#16 0x08490c16 in v8::internal::Execution::TryCall (func=..., receiver=..., argc=2, args=0xffffc75c, caught_exception=0xffffc78f) at ../src/execution.cc:214 #17 0x084aa4be in v8::internal::Factory::NewError (this=0x9718018, maker=0x8a1547b "MakeTypeError", message=0x8a493f3 "non_object_property_call", args=...)
    at ../src/factory.cc:940
#18 0x084a9f80 in v8::internal::Factory::NewError (this=0x9718018, maker=0x8a1547b "MakeTypeError", message=0x8a493f3 "non_object_property_call", args=...)
    at ../src/factory.cc:863
#19 0x084a9ce7 in v8::internal::Factory::NewTypeError (this=0x9718018, message=0x8a493f3 "non_object_property_call", args=...) at ../src/factory.cc:811 #20 0x085905e7 in v8::internal::IC::TypeError (this=0xffffc928, type=0x8a493f3 "non_object_property_call", object=..., key=...) at ../src/ic.cc:418 #21 0x0859114b in v8::internal::CallICBase::LoadFunction (this=0xffffc928, object=..., name=...) at ../src/ic.cc:620 #22 0x08598268 in v8::internal::__RT_impl_CallIC_Miss (args=..., isolate=0x9718018) at ../src/ic.cc:2061 #23 0x08598132 in v8::internal::CallIC_Miss (args_length=2, args_object=0xffffc9ec, isolate=0x9718018) at ../src/ic.cc:2054
#24 0x5580b256 in ?? ()
#25 0x55828c40 in ?? ()
#26 0x5584c516 in ?? ()
#27 0x558499aa in ?? ()
#28 0x55840b79 in ?? ()
#29 0x5582076a in ?? ()
#30 0x084907b8 in v8::internal::Invoke (is_construct=false, function=..., receiver=..., argc=0, args=0x0, has_pending_exception=0xffffcc1e)
    at ../src/execution.cc:119
#31 0x08490b04 in v8::internal::Execution::Call (isolate=0x9718018, callable=..., receiver=..., argc=0, argv=0x0, pending_exception=0xffffcc1e,
    convert_receiver=false) at ../src/execution.cc:183
#32 0x083dffbf in v8::Script::Run (this=0x97455d0) at ../src/api.cc:1900
#33 0x083bcd4c in v8::Shell::ExecuteString (isolate=0x9718018, source=..., name=..., print_result=false, report_exceptions=true) at ../src/d8.cc:218 #34 0x083c177f in v8::SourceGroup::Execute (this=0x971e614, isolate=0x9718018) at ../src/d8.cc:1293 #35 0x083c21b7 in v8::Shell::RunMain (isolate=0x9718018, argc=4, argv=0xffffcf54) at ../src/d8.cc:1530 #36 0x083c609d in v8::Shell::Main (argc=4, argv=0xffffcf54) at ../src/d8.cc:1724
#37 0x083c6196 in main (argc=4, argv=0xffffcf54) at ../src/d8.cc:1762


#
# Fatal error in ../src/frames.cc, line 987
# CHECK(opcode == Translation::STACK_SLOT || opcode == Translation::LITERAL) failed
#


but opcode is

(gdb) p opcode
$2 = v8::internal::Translation::DUPLICATED_OBJECT



Michael, I assigned you on this randomly. If you have a better person to assign this to, go ahead :)

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to