Last modified: 2014-02-28 23:46:45 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.
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.
Related/similar bug: Bug 51526
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).
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