Bug 24857 - Crash in Heap::isNumber when running testapi on Windows
Summary: Crash in Heap::isNumber when running testapi on Windows
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows XP
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks: 24856
  Show dependency treegraph
 
Reported: 2009-03-26 14:19 PDT by Adam Roben (:aroben)
Modified: 2009-08-13 08:20 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Roben (:aroben) 2009-03-26 14:19:20 PDT
To reproduce:

1. cd WebKitBuild/bin
2. ./testapi.exe

You'll crash in Heap::isNumber. Here's the backtrace:

>	testapi_debug.exe!JSC::Heap::isNumber(JSC::JSCell * cell=0x00e666e8)  Line 261 + 0xe bytes	C++
 	testapi_debug.exe!JSC::JSCell::isNumber()  Line 129 + 0x9 bytes	C++
 	testapi_debug.exe!JSC::isNumberCell(JSC::JSValuePtr v={...})  Line 113 + 0x1e bytes	C++
 	testapi_debug.exe!JSC::JSValuePtr::isDoubleNumber()  Line 208 + 0x14 bytes	C++
 	testapi_debug.exe!JSC::JSValuePtr::getNumber(double & result=-9.2559631349317831e+061)  Line 407 + 0x8 bytes	C++
 	testapi_debug.exe!JSC::JSCallbackObject<JSC::JSObject>::toNumber(JSC::ExecState * exec=0x01060490)  Line 411 + 0x1b bytes	C++
 	testapi_debug.exe!JSC::JSValuePtr::toNumber(JSC::ExecState * exec=0x01060490)  Line 261 + 0x58 bytes	C++
 	testapi_debug.exe!JSC::JITStubs::cti_op_mul(void * * args=0x0012f8ac)  Line 801 + 0xc bytes	C++
 	testapi_debug.exe!JSC::JITStubs::cti_op_convert_this()  + 0xff bytes	C++
 	testapi_debug.exe!JSC::JITCode::execute(JSC::RegisterFile * registerFile=0x00e10800, JSC::ExecState * callFrame=0x01060490, JSC::JSGlobalData * globalData=0x00e0cfb0, JSC::JSValuePtr * exception=0x0012faa4)  Line 86 + 0x21 bytes	C++
 	testapi_debug.exe!JSC::Interpreter::execute(JSC::EvalNode * evalNode=0x00e64a00, JSC::ExecState * callFrame=0x01060408, JSC::JSObject * thisObj=0x01460000, int globalRegisterOffset=146, JSC::ScopeChainNode * scopeChain=0x00e657d0, JSC::JSValuePtr * exception=0x0012faa4)  Line 781 + 0x36 bytes	C++
 	testapi_debug.exe!JSC::Interpreter::callEval(JSC::ExecState * callFrame=0x01060408, JSC::RegisterFile * registerFile=0x00e10800, JSC::Register * argv=0x01060440, int argc=2, int registerOffset=17, JSC::JSValuePtr & exceptionValue={...})  Line 343 + 0x5f bytes	C++
 	testapi_debug.exe!JSC::JITStubs::cti_op_call_eval(void * * args=0x0012fb00)  Line 1806	C++
 	testapi_debug.exe!JSC::JITStubs::cti_op_convert_this()  + 0xff bytes	C++
 	testapi_debug.exe!JSC::JITCode::execute(JSC::RegisterFile * registerFile=0x00e10800, JSC::ExecState * callFrame=0x01060048, JSC::JSGlobalData * globalData=0x00e0cfb0, JSC::JSValuePtr * exception=0x0012fc20)  Line 86 + 0x21 bytes	C++
 	testapi_debug.exe!JSC::Interpreter::execute(JSC::ProgramNode * programNode=0x00e3f940, JSC::ExecState * callFrame=0x00e1095c, JSC::ScopeChainNode * scopeChain=0x00e10ae8, JSC::JSObject * thisObj=0x01460000, JSC::JSValuePtr * exception=0x0012fc20)  Line 623 + 0x2d bytes	C++
 	testapi_debug.exe!JSC::evaluate(JSC::ExecState * exec=0x00e1095c, JSC::ScopeChain & scopeChain={...}, const JSC::SourceCode & source={...}, JSC::JSValuePtr thisValue={...})  Line 69	C++
 	testapi_debug.exe!JSEvaluateScript(const OpaqueJSContext * ctx=0x00e1095c, OpaqueJSString * script=0x00e31210, OpaqueJSValue * thisObject=0x00000000, OpaqueJSString * sourceURL=0x00000000, int startingLineNumber=1, const OpaqueJSValue * * exception=0x0012fe84)  Line 54 + 0x3c bytes	C++
 	testapi_debug.exe!main(int argc=1, char * * argv=0x00e0a9a8)  Line 1122 + 0x1f bytes	C++
 	testapi_debug.exe!__tmainCRTStartup()  Line 597 + 0x19 bytes	C
 	testapi_debug.exe!mainCRTStartup()  Line 414	C
 	kernel32.dll!_BaseProcessStart@4()  + 0x23 bytes
Comment 1 Adam Roben (:aroben) 2009-03-26 14:20:20 PDT
<rdar://problem/6727906>
Comment 2 Adam Roben (:aroben) 2009-08-13 08:20:19 PDT
This seems to have been fixed at some point. Looks like we can start running testapi on Windows now!