Bug 24857
Summary: | Crash in Heap::isNumber when running testapi on Windows | ||
---|---|---|---|
Product: | WebKit | Reporter: | Adam Roben (:aroben) <aroben> |
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | ggaren, oliver, zwarich |
Priority: | P2 | Keywords: | InRadar |
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Bug Depends on: | |||
Bug Blocks: | 24856 |
Adam Roben (:aroben)
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
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Adam Roben (:aroben)
<rdar://problem/6727906>
Adam Roben (:aroben)
This seems to have been fixed at some point. Looks like we can start running testapi on Windows now!