Hi,
I think I've discovered a bug, but before submitting it I wanted to
ask, maybe I'm doing something wrong.
My settings :
v8: trunk (rev #5425)
compiler: mingw32 (gcc 4.4.0)
The problem :
When using a get accessor inside an anonymous function and the
receiver (this) is a C++ wrapped class (internal field pointing to the
c++ object), the AccessorInfo.This() gets corrupted and it crashes
when I try to access the internal field. It always crashes at the
third time.
Here is the gdb callstack :
#0 63E261A2 v8::internal::HeapObject::map_word(this=0xa045f01) (src//
objects-inl.h:1071)
#1 63E2605D v8::internal::HeapObject::map(this=0xa045f01) (src//
objects-inl.h:1061)
#2 63E26081 v8::internal::HeapObject::Size(this=0xa045f01) (src//
objects-inl.h:1094)
#3 63E7AF6E
v8::internal::JSObject::GetInternalFieldCount(this=0xa045f01) (src//
objects-inl.h:1268)
#4 63C51964 v8::Object::CheckedGetInternalField(this=0x31abb4d,
index=0) (src\api.cc:3138)
#5 00420970 v8::Object::GetInternalField(this=0x31abb4d, index=0) (../
include/v8.h:3468)
#6 00425403
Scripting::BitmapGridWrapper::GridXGetter(property={<v8::Handle<v8::String>>
= {val_ = 0x603f814}, <No data fields>}, in...@0x603f82c) (C:\nicdex
\dexdo\DGE\src\scripting\cppbinding.cpp:127)
#7 00000000 0x0d3566bf in ??() (??:??)
#8 00000000 0x0603f814 in ??() (??:??)
#9 00000000 0x0603f82c in ??() (??:??)
#10 00000000 0x0603f83c in ??() (??:??)
#11 00000000 0x00000000 in ??() (??:??)
See attachment for a c++ test file reproducing the bug.
* Note that the callstack is from my original error, not the test, but
it is the same error, only the origin changes.
Thanks for your help.
NicDex
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users