Comment #4 on issue 954 by zdj870522: Object::GetProperty() doesn't always
work right
http://code.google.com/p/v8/issues/detail?id=954
I mean the cyclic condition is always true and my program keep running when
use debug version of V8.
Use gdb to attach the process:
v8::internal::Context::global (this=0x2aa0133161) at src/contexts.h:243
243 GlobalObject* global() {
Current language: auto; currently c++
(gdb) bt full
#0 v8::internal::Context::global (this=0x2aa0133161) at src/contexts.h:243
No locals.
#1 0x0000002a9a5b64e4 in v8::internal::Context::global_context
(this=0x2a9f000001) at src/contexts.cc:53
current = (class v8::internal::Context *) 0xbfff42a0
#2 0x0000002a9a62bc04 in v8::internal::Object::GetPrototype
(this=0x2aa0156101) at src/objects.cc:583
context = (class v8::internal::Context *) 0x9f0000c1
#3 0x0000002a9a62b85c in v8::internal::Object::GetProperty
(this=0x2a9f000051, receiver=0x2a9f000051, result=0x7fbfff43f0,
name=0x2aa015d339, attributes=0x7fbfff43ec) at src/objects.cc:509
current = (class v8::internal::Object *) 0x2aa0156101
ncc = {<v8::internal::Embedded> = {<No data fields>}, scope_ =
{static current_ = {extensions = 0, next = 0x9aa790, limit = 0x9ac690},
previous_ = {extensions = -1, next = 0x9aa788,
limit = 0x9aa788}}, context_ = {location_ = 0x9aa788}}
last = (class v8::internal::Object *) 0x2a9e0e0961
value = (class v8::internal::Object *) 0x2e0356281
holder = (class v8::internal::JSObject *) 0x2aa0156101
#4 0x0000002a9a5fbda6 in v8::internal::CallIC::LoadFunction
(this=0x7fbfff44c0, state=v8::internal::PREMONOMORPHIC, object={location_ =
0x7fbfff4538}, name={location_ = 0x7fbfff4530}) at src/ic.cc:425
index = 127
lookup = {<v8::internal::Embedded> = {<No data fields>},
lookup_type_ = v8::internal::LookupResult::DESCRIPTOR_TYPE, holder_ =
0x2a9e0e0961, number_ = 40, cacheable_ = true,
details_ = {<v8::internal::Embedded> = {<No data fields>}, static
kInitialIndex = 1, value_ = 3842}}
attr = 42
result = (class v8::internal::Object *) 0x7fbfff4538
#5 0x0000002a9a5fe595 in v8::internal::CallIC_Miss
(args={<v8::internal::Embedded> = {<No data fields>}, length_ = 2,
arguments_ = 0x7fbfff4538}) at src/ic.cc:1269
ic = {<v8::internal::IC> = {fp_ = 0x7fbfff4590 "ðEÿ¿\177",
pc_address_ = 0x7fbfff4560}, <No data fields>}
state = v8::internal::PREMONOMORPHIC
function = {location_ = 0x7fbfff4490}
na = {<v8::internal::Embedded> = {<No data fields>}, extensions_ =
-1}
result = (class v8::internal::Object *) 0x7fbfff4570
scope = {static current_ = {extensions = 0, next = 0x9aa790, limit
= 0x9ac690}, previous_ = {extensions = -1073789584, next = 0x7fbfff44a0,
limit = 0x7fbfff4568}}
in_loop = 42
#6 0x0000002ac02d41aa in ?? ()
===============================================
quit gdb and attach it again.
0x0000002a9a566a40 in v8::internal::Context::IsBootstrappingOrGlobalObject
() from /home/work/cmsui/third/v8/libv8_g.so
(gdb) bt full
#0 0x0000002a9a566a40 in
v8::internal::Context::IsBootstrappingOrGlobalObject () from
/home/work/cmsui/third/v8/libv8_g.so
No symbol table info available.
#1 0x0000002a9a58fb95 in v8::internal::Context::global (this=0x2a9f000001)
at src/contexts.h:245
result = (class v8::internal::Object *) 0x2aa0133161
#2 0x0000002a9a5b64cf in v8::internal::Context::global_context
(this=0x2a9f000001) at src/contexts.cc:52
current = (class v8::internal::Context *) 0xbfff42a0
#3 0x0000002a9a62bc04 in v8::internal::Object::GetPrototype
(this=0x2aa0156101) at src/objects.cc:583
context = (class v8::internal::Context *) 0x9f0000c1
#4 0x0000002a9a62b85c in v8::internal::Object::GetProperty
(this=0x2a9f000051, receiver=0x2a9f000051, result=0x7fbfff43f0,
name=0x2aa015d339, attributes=0x7fbfff43ec) at src/objects.cc:509
current = (class v8::internal::Object *) 0x2aa0156101
ncc = {<v8::internal::Embedded> = {<No data fields>}, scope_ =
{static current_ = {extensions = 0, next = 0x9aa790, limit = 0x9ac690},
previous_ = {extensions = -1, next = 0x9aa788,
limit = 0x9aa788}}, context_ = {location_ = 0x9aa788}}
last = (class v8::internal::Object *) 0x2a9e0e0961
value = (class v8::internal::Object *) 0x2e0356281
holder = (class v8::internal::JSObject *) 0x2aa0156101
#5 0x0000002a9a5fbda6 in v8::internal::CallIC::LoadFunction
(this=0x7fbfff44c0, state=v8::internal::PREMONOMORPHIC, object={location_ =
0x7fbfff4538}, name={location_ = 0x7fbfff4530}) at src/ic.cc:425
index = 127
lookup = {<v8::internal::Embedded> = {<No data fields>},
lookup_type_ = v8::internal::LookupResult::DESCRIPTOR_TYPE, holder_ =
0x2a9e0e0961, number_ = 40, cacheable_ = true,
details_ = {<v8::internal::Embedded> = {<No data fields>}, static
kInitialIndex = <optimized out>, value_ = 3842}}
attr = 42
result = (class v8::internal::Object *) 0x7fbfff4538
#6 0x0000002a9a5fe595 in v8::internal::CallIC_Miss
(args={<v8::internal::Embedded> = {<No data fields>}, length_ = 2,
arguments_ = 0x7fbfff4538}) at src/ic.cc:1269
ic = {<v8::internal::IC> = {fp_ = 0x7fbfff4590 "ðEÿ¿\177",
pc_address_ = 0x7fbfff4560}, <No data fields>}
state = v8::internal::PREMONOMORPHIC
function = {location_ = 0x7fbfff4490}
na = {<v8::internal::Embedded> = {<No data fields>}, extensions_ =
-1}
result = (class v8::internal::Object *) 0x7fbfff4570
scope = {static current_ = {extensions = 0, next = 0x9aa790, limit
= 0x9ac690}, previous_ = {extensions = -1073789584, next = 0x7fbfff44a0,
limit = 0x7fbfff4568}}
in_loop = 42
#7 0x0000002ac02d41aa in ?? ()
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev