Closed Bug 625315 Opened 14 years ago Closed 14 years ago

Invalid ssize_t define on Windows x64

Categories

(Core :: Memory Allocator, defect)

x86_64
Windows Vista
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla2.0b12
Tracking Status
blocking2.0 --- -

People

(Reporter: m_kato, Assigned: m_kato)

References

Details

(Keywords: crash, topcrash)

Attachments

(1 file, 1 obsolete file)

No description provided.
Attached patch fix v1 (obsolete) — Splinter Review
Attachment #503439 - Flags: review?(ted.mielczarek)
Attachment #503439 - Flags: review?(ted.mielczarek) → review?(jasone)
Comment on attachment 503439 [details] [diff] [review] fix v1 Is there really a system on which size_t is 64 bits, but long is only 32? This seems unlikely to me, so some further explanation is needed before I'm comfortable with this patch.
(In reply to comment #2) > Comment on attachment 503439 [details] [diff] [review] > fix v1 > > Is there really a system on which size_t is 64 bits, but long is only 32? This > seems unlikely to me, so some further explanation is needed before I'm > comfortable with this patch. Yes. Win64 compiler is LLP64 model, so size_t and pointer are 64-bit, but long is 32-bit.
Jason, should I use MOZ_MEMORY_SIZEOF_PTR_2POW if it is defined?
Blocks: 625753
Attached patch fix v2Splinter Review
use MOZ_MEMORY_SIZEOF_PTR_2POW if available.
Attachment #503439 - Attachment is obsolete: true
Attachment #507006 - Flags: review?(jasone)
Attachment #503439 - Flags: review?(jasone)
Wouldn't it be better to replace ssize_t with uintptr_t in rb.h instead? (and s/size_t/intptr_t/ also for symmetry?) That makes the bit-and operands use matching types intptr_t/uintptr_t which are guaranteed to have the same size. Then we can remove the local ssize_t typedef since it's not needed.
Blocks: 591695
This bug blocks the #6 and #7 top crashes with 3.4% of 4.0b11pre crash incidents.
blocking2.0: --- → ?
Jason ^
Blocks: 613716
It seems likely this bug is also the root cause for incidents having 'malloc_rtree_set' in the signature, which sums up to another couple of percent overall.
blocking2.0: ? → .x
Attachment #507006 - Flags: review?(jasone) → review+
oops, wrong flag
blocking2.0: .x → -
Attachment #507006 - Flags: approval2.0?
Attachment #507006 - Flags: approval2.0? → approval2.0+
Severity: normal → critical
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b12
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: