Closed
Bug 621484
Opened 14 years ago
Closed 14 years ago
Hang at org.mozilla.gecko.GeckoInputConnection.getExtractedText(GeckoInputConnection.java:252)
Categories
(Core Graveyard :: Widget: Android, defect)
Tracking
(fennec2.0b4+)
RESOLVED
FIXED
Tracking | Status | |
---|---|---|
fennec | 2.0b4+ | --- |
People
(Reporter: blassey, Assigned: blassey)
References
Details
Attachments
(1 file, 2 obsolete files)
1.92 KB,
patch
|
vlad
:
review+
|
Details | Diff | Splinter Review |
I've been seeing this hang lately. It seems to be particularly exacerbated on startup by the patch on bug 619626, so it seems like some sort of race condition. One obvious fix to avoid this situation is to use poll() with a timeout rather than take(), this patch does that.
Attachment #499801 -
Flags: review?(mwu)
Comment 1•14 years ago
|
||
Comment on attachment 499801 [details] [diff] [review] patch Lets not work around locking issues without understanding them. This issue suggests that either the gecko thread is hanging or there is code not honoring the requirement to respond to all queries. I'd tend towards the gecko thread hanging since I haven't seen any changes to the code that would cause the other issue.
Attachment #499801 -
Flags: review?(mwu) → review-
Assignee | ||
Comment 2•14 years ago
|
||
I've confirmed this is a race condition. The problem is that the gecko event loop isn't running yet, so sendeventtogecko fails silently. There are two solutions, the first is to return something from sendEventToGecko indicating the event wasn't sent and bail. The other is to queue up the events and send them through when the event loop is ready (like attachment 485307 [details] [diff] [review] on bug 601282 does). This patch implements the former solution. Its not clear how far we should take this, but it might make sense to do it anywhere where we're blocking on a response from the gecko event loop (I think there's ~10 of those places in the code) I also wonder if bug 621062 has a similar cause.
Assignee: nobody → blassey.bugs
Attachment #499801 -
Attachment is obsolete: true
Attachment #499990 -
Flags: review?(mwu)
Assignee | ||
Updated•14 years ago
|
Attachment #499990 -
Attachment description: patch → patch for check sendEventToGecko ret val solution
Assignee | ||
Comment 4•14 years ago
|
||
Comment on attachment 499991 [details] [diff] [review] patch for queue events solution If we go with this approach we probably want to filter out touch and key events. Everything else should be valid.
Comment on attachment 499991 [details] [diff] [review] patch for queue events solution looks good to me.
Attachment #499991 -
Flags: review?(mwu) → review+
Assignee | ||
Updated•14 years ago
|
Attachment #499990 -
Attachment is obsolete: true
Attachment #499990 -
Flags: review?(mwu)
Assignee | ||
Comment 6•14 years ago
|
||
2.0b4+ because this is blocking a blocker and it prevents a hang
tracking-fennec: --- → 2.0b4+
Assignee | ||
Comment 7•14 years ago
|
||
pushed http://hg.mozilla.org/mozilla-central/rev/b016aa1878fa
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Updated•3 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•