Open Bug 992928 Opened 12 years ago Updated 3 years ago

crash in mozilla::widget::MouseScrollHandler::LastEventInfo::InitWheelEvent(nsWindowBase*, mozilla::WidgetWheelEvent&, mozilla::widget::ModifierKeyState const&)

Categories

(Core :: Widget: Win32, defect, P3)

x86
Windows NT
defect

Tracking

()

REOPENED
Tracking Status
firefox64 --- affected

People

(Reporter: masayuki, Unassigned)

Details

(Keywords: crash, Whiteboard: tpi:+, qa-not-actionable, [win:stability])

Crash Data

This bug was filed from the Socorro interface and is report bp-b888fa85-e90f-4902-9f80-90c952140402. ============================================================= The suspected line doesn't have division. The preceding line has division. > 864 double nativeDeltaPerUnit = > 865 mIsPage ? static_cast<double>(WHEEL_DELTA) : > 866 static_cast<double>(WHEEL_DELTA) / GetScrollAmount(); > 867 > 868 delta = static_cast<double>(mDelta) * orienter / nativeDeltaPerUnit; > 869 mAccumulatedDelta += mDelta; > 870 lineOrPageDelta = > 871 mAccumulatedDelta * orienter / RoundDelta(nativeDeltaPerUnit); However, nativeDeltaPerUnit should not be rounded to 0 because GetScrollAmount() should be less than 10 in typical system (the default value is 3). And WHEEL_DELTA is 120. I.e., the scroll amount setting must be larger than 90. That doesn't make sense...
Crash Signature: [@ mozilla::widget::MouseScrollHandler::LastEventInfo::InitWheelEvent(nsWindowBase*, mozilla::WidgetWheelEvent&, mozilla::widget::ModifierKeyState const&)] → [@ mozilla::widget::MouseScrollHandler::LastEventInfo::InitWheelEvent(nsWindowBase*, mozilla::WidgetWheelEvent&, mozilla::widget::ModifierKeyState const&)] [@ mozilla::widget::MouseScrollHandler::LastEventInfo::InitWheelEvent]
Priority: -- → P5
Whiteboard: tpi:+
Closing because no crashes reported for 12 weeks.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
Closing because no crashes reported for 12 weeks.
There are still some crashes so reopen it.
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Whiteboard: tpi:+ → tpi:+, qa-not-actionable

Closing because no crashes reported for 12 weeks.

Status: REOPENED → RESOLVED
Closed: 7 years ago4 years ago
Resolution: --- → WORKSFORME

There is at least one crash from a December build: https://crash-stats.mozilla.org/report/index/e55659e2-39f8-4cd2-8b0b-6bc6e0211222#tab-details

Minidumps suggest that GetScrollAmount is actually returning something that can lead to a (rounded) zero (anything above 120 will do). It seems that GetScrollAmount can, in some cases, return a user pref value (mousewheel.windows.vertical_amount_override or mousewheel.windows.horizontal_amount_override) so it can be anything. I believe you can also manually tweak these numbers in Windows (GETWHEELSCROLLLINES/GETWHEELSCROLLCHARS). We should check the value before the divide. Maybe we can get away with using a small number in case we calculate 0.

Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Whiteboard: tpi:+, qa-not-actionable → tpi:+, qa-not-actionable, [win:stability]
Severity: critical → S2
Priority: P5 → P3

Very low crash rate, only on older versions, lowering severity.

Severity: S2 → S3
Crash Signature: [@ mozilla::widget::MouseScrollHandler::LastEventInfo::InitWheelEvent(nsWindowBase*, mozilla::WidgetWheelEvent&, mozilla::widget::ModifierKeyState const&)] [@ mozilla::widget::MouseScrollHandler::LastEventInfo::InitWheelEvent] → [@ mozilla::widget::MouseScrollHandler::LastEventInfo::InitWheelEvent] [@ mozilla::widget::MouseScrollHandler::LastEventInfo::InitWheelEvent]
You need to log in before you can comment on or make changes to this bug.