Last modified: 2014-02-28 23:46:45 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T56331, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 54331 - VisualEditor: "Uncaught Error: ve.dm.Document.getNodeFromOffset(): offset 804 is out of bounds" triggered using jquery.IME
VisualEditor: "Uncaught Error: ve.dm.Document.getNodeFromOffset(): offset 804...
Status: ASSIGNED
Product: VisualEditor
Classification: Unclassified
Language (Other open bugs)
unspecified
All All
: High normal
: ---
Assigned To: Editing team bugs – take if you're interested!
:
Depends on:
Blocks: ve-multi-lingual 53014
  Show dependency treegraph
 
Reported: 2013-09-19 15:40 UTC by Siddhartha Ghai
Modified: 2014-02-28 23:46 UTC (History)
6 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments
Screenshot showing original error and changed template formatting (246.20 KB, image/jpeg)
2013-09-19 16:33 UTC, Siddhartha Ghai
Details
Editable content in Read mode (95.62 KB, image/jpeg)
2013-09-19 17:21 UTC, Siddhartha Ghai
Details

Description Siddhartha Ghai 2013-09-19 15:40:52 UTC
This bug was found when testing per the sixth and seventh comment at Bug 53708
It seems somewhat heisenbuggy and I haven't been able to reproduce it yet. However, I'm sure of the steps which caused it.
Reporting this so that it's documented in case it is ever seen again.

System Environment:
Windows7 X64 SP1
Google Chrome 29.0.1547.66 m

Test Url:
https://www.mediawiki.org/wiki/Project:Sandbox?veaction=edit

Steps to reproduce:
Enable ULS IME hindi (hi) transliteration (labelled लिप्यंतरण)
Input the following:
agar[SPACE][SPACE][BACKSPACE]

What happens:
Apart from a bunch of buggy behaviour (described in the seventh comment at Bug 53708 ), the following console error shows up once the [BACKSPACE] is pressed:

Uncaught Error: ve.dm.Document.getNodeFromOffset(): offset 804 is out of bounds load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:106
ve.dm.Document.getNodeFromOffset load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:106
ve.dm.Surface.change load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…wPageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:84
ve.ce.Surface.onSelectionChange load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:275
oo.EventEmitter.emit load.php?debug=false&lang=hi&modules=ext.visualEditor.base%2Cmediawiki%2Cvi…ck%7Coojs%7Cunicodejs.wordbreak&skin=vector&version=20130919T025548Z&*:139
ve.ce.SurfaceObserver.pollOnceInternal load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:292
ve.ce.SurfaceObserver.pollOnce load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:291
ve.ce.SurfaceObserver.timerLoop load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:290
proxy load.php?debug=false&lang=hi&modules=jquery%2Cmediawiki%2CSpinner%7Cjquery.…l%7Cmw.MwEmbedSupport&only=scripts&skin=vector&version=20130912T173512Z:10

The file urls are:

For the last line:
https://bits.wikimedia.org/www.mediawiki.org/load.php?debug=false&lang=hi&modules=jquery%2Cmediawiki%2CSpinner%7Cjquery.triggerQueueCallback%2CloadingSpinner%2CmwEmbedUtil%7Cmw.MwEmbedSupport&only=scripts&skin=vector&version=20130912T173512Z

For all other lines:
https://bits.wikimedia.org/www.mediawiki.org/load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperimental%2Cicons-vector%7Cext.visualEditor.viewPageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*

Also, the template's formatting was gone with the input hindi text appearing alongside the template text.
Comment 1 Siddhartha Ghai 2013-09-19 16:33:51 UTC
Created attachment 13329 [details]
Screenshot showing original error and changed template formatting

I've been able to reproduce this bug in the same system environment on the same test url with the following steps:

Enable ULS hi transliteration
Input a[SPACE][BACKSPACE]a

The error as specified above shows up.

Pressing a space after this brings up the following errors:

Error 1:

Uncaught TypeError: Cannot call method 'insertBefore' of null load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:239
ve.ce.BranchNode.onSplice load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:239
oo.EventEmitter.emit load.php?debug=false&lang=hi&modules=ext.visualEditor.base%2Cmediawiki%2Cvi…ck%7Coojs%7Cunicodejs.wordbreak&skin=vector&version=20130919T025548Z&*:139
ve.dm.BranchNode.splice load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…wPageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:44
(anonymous function) load.php?debug=false&lang=hi&modules=ext.visualEditor.base%2Cmediawiki%2Cvi…back%7Coojs%7Cunicodejs.wordbreak&skin=vector&version=20130919T025548Z&*:3
ve.dm.Document.rebuildNodes load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:107
ve.dm.DocumentSynchronizer.synchronizers.rebuild load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:117
ve.dm.DocumentSynchronizer.synchronize load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:119
ve.dm.TransactionProcessor.process load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…wPageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:59
ve.dm.Document.commit load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:104
ve.dm.Surface.change load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…wPageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:84
ve.ce.Surface.handleInsertion load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:282
ve.ce.Surface.onDocumentKeyPress load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:268
proxy load.php?debug=false&lang=hi&modules=jquery%2Cmediawiki%2CSpinner%7Cjquery.…l%7Cmw.MwEmbedSupport&only=scripts&skin=vector&version=20130912T173512Z:10
ve.EventSequencer.onEvent load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…wPageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:19
(anonymous function) load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…wPageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:18
jQuery.event.dispatch load.php?debug=false&lang=hi&modules=jquery%2Cmediawiki%2CSpinner%7Cjquery.…l%7Cmw.MwEmbedSupport&only=scripts&skin=vector&version=20130912T173512Z:45
elemData.handle.eventHandle load.php?debug=false&lang=hi&modules=jquery%2Cmediawiki%2CSpinner%7Cjquery.…l%7Cmw.MwEmbedSupport&only=scripts&skin=vector&version=20130912T173512Z:38
6

Error 2:
Uncaught Error: offset 805 out of bounds load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:150
ve.dm.ElementLinearData.getAnnotationIndexesFromOffset load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:150
ve.dm.ElementLinearData.getAnnotationsFromOffset load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:150
ve.ce.Surface.onContentChange load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:277
oo.EventEmitter.emit load.php?debug=false&lang=hi&modules=ext.visualEditor.base%2Cmediawiki%2Cvi…ck%7Coojs%7Cunicodejs.wordbreak&skin=vector&version=20130919T025548Z&*:139
ve.ce.SurfaceObserver.pollOnceInternal load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:292
ve.ce.SurfaceObserver.pollOnce load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:291
ve.ce.Surface.documentOnBlur load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperim…PageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*:264
proxy load.php?debug=false&lang=hi&modules=jquery%2Cmediawiki%2CSpinner%7Cjquery.…l%7Cmw.MwEmbedSupport&only=scripts&skin=vector&version=20130912T173512Z:10
jQuery.event.dispatch load.php?debug=false&lang=hi&modules=jquery%2Cmediawiki%2CSpinner%7Cjquery.…l%7Cmw.MwEmbedSupport&only=scripts&skin=vector&version=20130912T173512Z:45
elemData.handle.eventHandle load.php?debug=false&lang=hi&modules=jquery%2Cmediawiki%2CSpinner%7Cjquery.…l%7Cmw.MwEmbedSupport&only=scripts&skin=vector&version=20130912T173512Z:38

File urls:
https://bits.wikimedia.org/www.mediawiki.org/load.php?debug=false&lang=hi&modules=ext.visualEditor.core%2Cdata%2Cexperimental%2Cicons-vector%7Cext.visualEditor.viewPageTarget.icons-vector%7Crangy&skin=vector&version=20130919T025548Z&*
https://bits.wikimedia.org/www.mediawiki.org/load.php?debug=false&lang=hi&modules=jquery%2Cmediawiki%2CSpinner%7Cjquery.triggerQueueCallback%2CloadingSpinner%2CmwEmbedUtil%7Cmw.MwEmbedSupport&only=scripts&skin=vector&version=20130912T173512Z

The second error keeps repeating. Also, changing tabs makes the count in the chrome console go up.

It also repeats each time a mouse click is done at the current caret position. It also repeats if the caret is taken to a different position in the text using the mouse or the arrow keys.
Comment 2 Siddhartha Ghai 2013-09-19 17:06:07 UTC
Related/similar bug: Bug 51526
Comment 3 Siddhartha Ghai 2013-09-19 17:21:11 UTC
Created attachment 13330 [details]
Editable content in Read mode

Further, after everything stated in Comment 1 has happened, if VE editing is canceled and the js prompt about losing unsaved changes is confirmed, the second error still continues. The tab is set to Read instead of Edit, however the content is still editable and the VE toolbar remains visible (although it doesn't seem to work).
Comment 4 Siddhartha Ghai 2013-09-19 17:28:31 UTC
After Comment 3, reloading the page by pressing the return key in the address bar gave the following error:

Uncaught RangeError: Maximum call stack size exceeded
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload
proxy
ve.init.mw.ViewPageTarget.onBeforeUnload

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links