Closed Bug 415207 Opened 17 years ago Closed 17 years ago

time overflow when checking for arena list age

Categories

(Core :: JavaScript Engine, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: igor, Assigned: igor)

References

Details

Attachments

(1 file)

[This is a spin-off of bug 400902 comment 46.] The code in js_TraceContext that checks for the age of the stack pool of arenas contains the following code in js_TraceContext: int64 *timestamp; ... timestamp = (int64 *) a->base; if (JS_Now() - *timestamp > acx->runtime->gcStackPoolLifespan * 1000) JS_FinishArenaPool(&acx->stackPool); Since acx->runtime->gcStackPoolLifespan is uint32, acx->runtime->gcStackPoolLifespan * 1000 overflows whenever it is set to 1 hour 12 minutes or more. Another problem with that code fragment is that it performs the arena cleanup unconditionally even if js_TraceContext is invoked by non-GC tracer.
Blocks: 408113
Attached patch v1 (deleted) — Splinter Review
This is a part of already approved patch from bug 400902 comment 44. It is moved to a separated bug to avoid mixing different issues in the same patch.
Attachment #300823 - Flags: review?(crowder)
Attachment #300823 - Flags: approval1.9b3?
Attachment #300823 - Flags: approval1.9?
Attachment #300823 - Flags: review?(crowder) → review+
Comment on attachment 300823 [details] [diff] [review] v1 a=beltzner for beta 3
Attachment #300823 - Flags: approval1.9b3?
Attachment #300823 - Flags: approval1.9b3+
Attachment #300823 - Flags: approval1.9?
Attachment #300823 - Flags: approval1.9+
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Flags: in-testsuite-
Flags: in-litmus-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: