If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Use async method for RequestCommitOrCancel

VERIFIED FIXED in Firefox 46

Status

()

Core
Plug-ins
VERIFIED FIXED
2 years ago
2 years ago

People

(Reporter: m_kato, Assigned: m_kato)

Tracking

Trunk
mozilla47
Unspecified
Windows
Points:
---

Firefox Tracking Flags

(firefox46+ fixed, firefox47 fixed)

Details

Attachments

(1 attachment)

(Assignee)

Description

2 years ago
When focus is lost on Flash (windowsless mode), the following assertion sometimes occur.

  MessageChannel 'backtrace':
  [(0) out intr PPluginInstance::Msg_NPP_HandleEvent(actor=17) ]
  [(1) in sync ???(actor=17) ]
  [(2) out intr PPluginInstance::Msg_NPP_HandleEvent(actor=17) ]
  remote Interrupt stack guess: 0
  deferred stack size: 0
  out-of-turn Interrupt replies stack size: 0
  Pending queue size: 0, front to back:
[6648] ###!!! ABORT: violation of sync handler invariant: file c:/Development/hg.mozilla.org/mozilla-inbound/ipc/glue/MessageChannel.cpp, line 2078
[NPAPI 13040] WARNING: '!compMgr', file c:/Development/hg.mozilla.org/mozilla-inbound/xpcom/glue/nsComponentManagerUtils.cpp, line 63
[NPAPI 13040] ###!!! ABORT: Aborting on channel error.: file c:/Development/hg.mozilla.org/mozilla-inbound/ipc/glue/MessageChannel.cpp, line 1857

When focus is lost, Flash will call ImmNotifyIME.  It will call RequestCommitOrCancel via IPC.  but since RequestCommitOrCancel is sync method, it assertion occur.
(Assignee)

Comment 1

2 years ago
Created attachment 8713061 [details] [diff] [review]
Use aync instead of sync

Plugin's IPC usually use sync method.  So to avoid dead lock, we should use async if possible.
(Assignee)

Comment 2

2 years ago
Comment on attachment 8713061 [details] [diff] [review]
Use aync instead of sync

Plugin's IPC usually use sync method.  So to avoid dead lock, we should use async if possible.
Attachment #8713061 - Flags: review?(masayuki)
Attachment #8713061 - Flags: review?(masayuki) → review+

Comment 3

2 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/0481ba060cab

Comment 4

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/0481ba060cab
Status: NEW → RESOLVED
Last Resolved: 2 years ago
status-firefox47: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
(Assignee)

Comment 5

2 years ago
Comment on attachment 8713061 [details] [diff] [review]
Use aync instead of sync

Approval Request Comment
[Feature/regressing bug #]:
Bug 1208944

[User impact if declined]:
Possible dead lock when moving focus from Flash (windowless mode) to others.
It will require Flash 21. (Current stable version of Flash is 20)

[Describe test coverage new/current, TreeHerder]:
Landed in m-c

[Risks and why]: 
Low.  Change method to async.

[String/UUID change made/needed]:
N/A
Attachment #8713061 - Flags: approval-mozilla-aurora?
How can we test this in nightly to verify the fix? Can you describe steps to reproduce the bug? 
Seems like this would be good to verify before uplifting to aurora.
Flags: needinfo?(m_kato)
(Assignee)

Comment 7

2 years ago
(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #6)
> How can we test this in nightly to verify the fix? Can you describe steps to
> reproduce the bug? 
> Seems like this would be good to verify before uplifting to aurora.

Yes.  I verified this fix on the latest Nightly and Flash 21 from Adobe team (this is not released as public).

Step
1. Browse http://baseonmars.co.uk/bugs/wmode/
2. Focus on wmode = 'opaque'
3. Input Japanese string via Microsoft IME
4. Focus another body out of object element
5. replace 2-4
Status: RESOLVED → VERIFIED
Flags: needinfo?(m_kato)
Tracking since this a recent regression (from 46)
status-firefox46: --- → affected
tracking-firefox46: --- → +
Comment on attachment 8713061 [details] [diff] [review]
Use aync instead of sync

Verified on m-c, please uplift to aurora, fixes recent regression.
Attachment #8713061 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+

Comment 10

2 years ago
bugherderuplift
https://hg.mozilla.org/releases/mozilla-aurora/rev/8c0c88494584
status-firefox46: affected → fixed
You need to log in before you can comment on or make changes to this bug.