WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
255508
LLInt should update stackTraceLimit in GlobalObject
https://bugs.webkit.org/show_bug.cgi?id=255508
Summary
LLInt should update stackTraceLimit in GlobalObject
EntryHi
Reported
2023-04-17 02:32:03 PDT
function f0(a1) { try{ Error.stackTraceLimit = a1; // put_by_id throw Error() } catch(e) { return e.stack; } } for (let v14 = 0; v14 < 2; v14++) { print(f0(v14)); } With the above script as input to JSC, run JSC with the following parameters: ./jsc test.js --useConcurrentJIT=0 JSC print two "undefined". The corrent result should be an "undefined" and a stackTrace. The problem may be in LLInt. The number of loops is 2. Therefore, LLInt will execute `put_by_id` twice, the first execution is slow_path, and `stackTraceLimit` in `globalObject` will be updated, but the slow_path is not used for the second time, and `stackTraceLimit` in `globalObject` is not updated. `getStackTrace` in Error.cpp will use `stackTraceLimit`, but stackTraceLimit is always 0, so two "undefined" are printed. Safari console also prints wrong result, V8 prints correct result.
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2023-04-24 02:32:19 PDT
<
rdar://problem/108444270
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug