Closed
Bug 1008450
Opened 11 years ago
Closed 11 years ago
Intermittent browser_pdfjs_views.js,browser_pdfjs_main.js | uncaught exception - TypeError: Argument 1 of Range.selectNodeContents is not an object. at resource://gre/modules/Finder.jsm:362
Categories
(Toolkit :: Find Toolbar, defect)
Tracking
()
RESOLVED
FIXED
mozilla32
Tracking | Status | |
---|---|---|
firefox30 | --- | unaffected |
firefox31 | --- | unaffected |
firefox32 | --- | fixed |
firefox-esr24 | --- | unaffected |
People
(Reporter: KWierso, Assigned: unusualtears)
References
Details
(Keywords: intermittent-failure, Whiteboard: [pdfjs-c-ff-integration])
Attachments
(1 file, 1 obsolete file)
1.06 KB,
patch
|
Details | Diff | Splinter Review |
https://tbpl.mozilla.org/php/getParsedLog.php?id=39392579&tree=Fx-Team
Rev4 MacOSX Snow Leopard 10.6 fx-team debug test mochitest-browser-chrome-1 on 2014-05-09 14:46:22 PDT for push f5a6fab8574f
slave: talos-r4-snow-074
15:29:12 INFO - TEST-START | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js
15:29:12 INFO - Chrome file doesn't exist: /builds/slave/talos-slave/test/build/tests/mochitest/browser/browser/extensions/pdfjs/test/head.js
15:29:12 INFO - TEST-PASS | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | pdf handler defaults to always-ask is false
15:29:12 INFO - TEST-PASS | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | pdf handler defaults to internal
15:29:12 INFO - TEST-INFO | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | Pref action: 3
15:29:12 INFO - ++DOCSHELL 0x171e5a000 == 61 [pid = 960] [id = 4007]
15:29:12 INFO - ++DOMWINDOW == 162 (0x166f75650) [pid = 960] [serial = 10635] [outer = 0x0]
15:29:12 INFO - ++DOMWINDOW == 163 (0x15f397030) [pid = 960] [serial = 10636] [outer = 0x166f75650]
15:29:12 INFO - ++DOMWINDOW == 164 (0x16fb18260) [pid = 960] [serial = 10637] [outer = 0x166f75650]
15:29:13 WARNING - TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | uncaught exception - TypeError: Argument 1 of Range.selectNodeContents is not an object. at resource://gre/modules/Finder.jsm:362
15:29:13 INFO - Stack trace:
15:29:13 INFO - JS frame :: chrome://mochikit/content/tests/SimpleTest/SimpleTest.js :: simpletestOnerror :: line 1348
15:29:13 INFO - native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0
15:29:13 INFO - JavaScript error: resource://gre/modules/Finder.jsm, line 362: Argument 1 of Range.selectNodeContents is not an object.
15:29:13 INFO - TEST-INFO | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'fullscreen'. Ruleset ignored due to bad selector." {file: "resource://pdf.js/web/viewer.css" line: 58 column: 17 source: "#viewerContainer:fullscreen {"}]
15:29:13 INFO - TEST-INFO | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'fullscreen'. Ruleset ignored due to bad selector." {file: "resource://pdf.js/web/viewer.css" line: 73 column: 1 source: ":fullscreen .page {"}]
15:29:13 INFO - TEST-INFO | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'fullscreen'. Ruleset ignored due to bad selector." {file: "resource://pdf.js/web/viewer.css" line: 82 column: 1 source: ":fullscreen a:not(.internalLink) {"}]
15:29:13 INFO - TEST-INFO | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'fullscreen'. Ruleset ignored due to bad selector." {file: "resource://pdf.js/web/viewer.css" line: 90 column: 1 source: ":fullscreen .textLayer > div {"}]
15:29:13 INFO - TEST-INFO | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'selection'. Ruleset ignored due to bad selector." {file: "resource://pdf.js/web/viewer.css" line: 1254 column: 2 source: "::selection { background:rgba(0,0,255,0.3); }"}]
15:29:13 INFO - TEST-INFO | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | Console message: [JavaScript Error: "TypeError: Argument 1 of Range.selectNodeContents is not an object." {file: "resource://gre/modules/Finder.jsm" line: 362}]
15:29:14 INFO - [Parent 960] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80520012: file /builds/slave/fx-team-osx64-d-00000000000000/build/netwerk/base/src/nsFileStreams.cpp, line 203
15:29:14 INFO - [Parent 960] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80520012: file /builds/slave/fx-team-osx64-d-00000000000000/build/netwerk/base/src/nsFileStreams.cpp, line 475
15:29:15 INFO - [Parent 960] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80520012: file /builds/slave/fx-team-osx64-d-00000000000000/build/netwerk/base/src/nsFileStreams.cpp, line 203
15:29:15 INFO - [Parent 960] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80520012: file /builds/slave/fx-team-osx64-d-00000000000000/build/netwerk/base/src/nsFileStreams.cpp, line 475
15:29:15 INFO - TEST-PASS | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | document content has viewer UI
15:29:15 INFO - TEST-PASS | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | window content has PDFJS object
15:29:15 INFO - TEST-PASS | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | sidebar opens on click
15:29:15 INFO - TEST-PASS | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | Initial view is thumbnail view
15:29:15 INFO - TEST-PASS | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | Outline view is hidden initially
15:29:15 INFO - TEST-PASS | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | Outline view is visible when selected
15:29:15 INFO - TEST-PASS | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | Thumbnail view is hidden when outline is selected
15:29:15 INFO - TEST-PASS | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | Thumbnail view is visible when selected
15:29:15 INFO - TEST-PASS | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | Outline view is hidden when thumbnail is selected
15:29:15 INFO - TEST-INFO | MEMORY STAT vsize after test: 4566016000
15:29:15 INFO - TEST-INFO | MEMORY STAT residentFast after test: 1062498304
15:29:15 INFO - INFO TEST-END | chrome://mochitests/content/browser/browser/extensions/pdfjs/test/browser_pdfjs_views.js | finished in 3455ms
Reporter | ||
Comment 1•11 years ago
|
||
Summary: Intermittent browser_pdfjs_views.js | uncaught exception - TypeError: Argument 1 of Range.selectNodeContents is not an object. at resource://gre/modules/Finder.jsm:362 → Intermittent browser_pdfjs_views.js,browser_pdfjs_main.js | uncaught exception - TypeError: Argument 1 of Range.selectNodeContents is not an object. at resource://gre/modules/Finder.jsm:362
Comment 2•11 years ago
|
||
Adam, I think the patch from bug 1006714 might have caused this intermittent failure. We have another issue related to browser_pdfjs_views.js and browser_pdfjs_main.js -- bug 963075.
Do have an idea why Finder.jsm fails? That might help with other issue as well.
Flags: needinfo?(unusualtears)
Reporter | ||
Comment 3•11 years ago
|
||
This is triggered now (wasn't before because PDF.js didn't use the per-tab findbar) because an earlier test leaves a value in |gBrowser._lastFindValue| (when a new tab's findbar is initialized, it is given that value). A contrived modification seems to bear that out:
1. I added a simple |gBrowser._lastFindValue = "foo";| to top of the relevant test (|browser_pdfjs_viewer.js|).
2. I added a |dump((new Error()).stack + "\n");| to the top of the function where the error arose (|Finder.jsm:_findIterator|).
3. I ran the test by itself (|mach mochitest-browser browser/extensions/pdfjs/test/browser_pdfjs_view.js|).
With this setup I get the stack dumped:
0:06.03 Finder.prototype._findIterator@resource://gre/modules/Finder.jsm:357:5
0:06.03 Finder.prototype._countMatchesInWindow@resource://gre/modules/Finder.jsm:322:5
0:06.03 Finder.prototype.requestMatchesCount@resource://gre/modules/Finder.jsm:264:9
0:06.03 _updateMatchesCountWorker@chrome://global/content/bindings/findbar.xml:453:1
0:06.03 _updateMatchesCount/this._updateMatchesCountTimeout<@chrome://global/content/bindings/findbar.xml:476:37
With [1] removed (i.e., not setting |_lastFindValue|), I get _no_ stack dumped.
If desired, we can make the intermittent failure go away by adding |gBrowser._lastFindValue = "";| in the affected test. That band-aid could be removed once the underlying bug has been resolved.
Mike, I'm wondering:
1. Should populating |_findField| with |_lastFindValue| trigger the match-counting code? (How does it and is it avoidable?)
2. Should we bail in |_findIterator| |if (!body)| (will other cases cause the same bug)? (Or, looking at the patch from bug 257061, it looks like that code migrated from |_highlight| which bails when |!doc || !doc.documentElement|; maybe that should be brought into/duplicated in |_findIterator|?)
Thanks.
Flags: needinfo?(unusualtears) → needinfo?(mdeboer)
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Updated•11 years ago
|
Whiteboard: [pdfjs-c-ff-integration]
Comment 13•11 years ago
|
||
(In reply to Adam [:hobophobe] from comment #4)
> Mike, I'm wondering:
>
> 1. Should populating |_findField| with |_lastFindValue| trigger the
> match-counting code? (How does it and is it avoidable?)
`requestMatchesCount()` is invoked when
a) the `Highlight All` button is clicked/ toggled.
b) When the search field gains focus, on OSX.
c) When a find result comes in from Finder.jsm/ nsFind
d) When the findbar opens.
In other words, each time `findbar._updateStatusUI()` is invoked.
> 2. Should we bail in |_findIterator| |if (!body)| (will other cases cause
> the same bug)? (Or, looking at the patch from bug 257061, it looks like that
> code migrated from |_highlight| which bails when |!doc ||
> !doc.documentElement|; maybe that should be brought into/duplicated in
> |_findIterator|?)
I think it's perfectly fine to bail in `_findIterator()`, in the way you described. Checking for `!body` is essentially the same as the condition found in `_highlight()`.
IOW, I'd r+ such a patch ;)
Thanks for asking, Adam!
Flags: needinfo?(mdeboer)
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Assignee | ||
Comment 18•11 years ago
|
||
Thanks, Mike!
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment 22•11 years ago
|
||
Comment on attachment 8422017 [details] [diff] [review]
Bail on _findIterator when we lack a body node
Review of attachment 8422017 [details] [diff] [review]:
-----------------------------------------------------------------
Mega-patch FTW!
Thanks, Adam :)
Attachment #8422017 -
Flags: review?(mdeboer) → review+
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Assignee | ||
Comment 29•11 years ago
|
||
Pushed to try: https://tbpl.mozilla.org/?tree=Try&rev=aa52a11c3f0c
Attachment #8422017 -
Attachment is obsolete: true
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment hidden (Legacy TBPL/Treeherder Robot) |
Keywords: checkin-needed
Comment hidden (Legacy TBPL/Treeherder Robot) |
Comment 35•11 years ago
|
||
Flags: in-testsuite+
Keywords: checkin-needed
Whiteboard: [pdfjs-c-ff-integration] → [pdfjs-c-ff-integration][fixed-in-fx-team]
Reporter | ||
Comment 36•11 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Whiteboard: [pdfjs-c-ff-integration][fixed-in-fx-team] → [pdfjs-c-ff-integration]
Target Milestone: --- → mozilla32
Updated•11 years ago
|
status-firefox30:
--- → unaffected
status-firefox31:
--- → unaffected
status-firefox32:
--- → fixed
status-firefox-esr24:
--- → unaffected
You need to log in
before you can comment on or make changes to this bug.
Description
•