Jump to content

Topic on Project:Support desk/Flow

Visual Editor not working on existing pages

4
Thermo mimi (talkcontribs)

Hi,


I am trying to setup a wiki, whenever I try to edit existing pages with the visual editor I get a curl error 28, timeout.


System config:

Product Version
MediaWiki 1.37.2
PHP 7.4.29 (apache2handler)
MariaDB 10.6.4-MariaDB
ICU 66.1
Pygments 2.10.0

Entry point URLs

Entry point URL
Article path /LAWiki/index.php/$1
Script path /LAWiki
index.php /LAWiki/index.php
api.php /LAWiki/api.php
rest.php /LAWiki/rest.php

Installed skins

Skin Version License Description Authors
MonoBook GPL-2.0-or-later The classic MediaWiki skin since 2004, named after the black-and-white photo of a book in the page background Gabriel Wicke, Isarra Yos and others
Timeless 0.9.1 GPL-2.0-or-later A timeless skin designed after the Winter prototype by Brandon Harris, and various styles by the Wikimedia Foundation Isarra Yos
Vector 1.0.0 GPL-2.0-or-later Modern version of MonoBook with fresh look and many usability improvements Trevor Parscal, Roan Kattouw and others

Installed extensions

Editors
Extension Version License Description Authors
CodeEditor GPL-2.0-or-later AND BSD-3-Clause Syntax-highlighted editing for JavaScript and CSS pages using Ace editor Brion Vibber, Derk-Jan Hartman and authors of Ace
VisualEditor 0.1.2 MIT Visual editor for MediaWiki Alex Monk, Bartosz Dziewoński, C. Scott Ananian, Christian Williams, David Lynch, Ed Sanders, Inez Korczyński, James D. Forrester, Moriel Schottlender, Roan Kattouw, Rob Moen, Subramanya Sastry, Thalia Chan, Timo Tijhof, Trevor Parscal and others
WikiEditor 0.5.3 GPL-2.0-or-later Provides an advanced, extensible wikitext editing interface Derk-Jan Hartman, Trevor Parscal, Roan Kattouw, Nimish Gautam and Adam Miller
Parser hooks
Extension Version License Description Authors
CategoryTree GPL-2.0-or-later Dynamically navigate the category structure Daniel Kinzler
ImageMap GPL-2.0-or-later Allows client-side clickable image maps using <imagemap> tag Tim Starling
InputBox 0.3.0 MIT Allow inclusion of predefined HTML forms Erik Moeller, Leonardo Pimenta, Rob Church, Trevor Parscal and DaSch
ParserFunctions 1.6.0 GPL-2.0-or-later Enhance parser with logical functions Tim Starling, Robert Rohde, Ross McClure and Juraj Simlovic
SyntaxHighlight 2.0 GPL-2.0-or-later Provides syntax highlighting <syntaxhighlight> using Pygments - Python syntax highlighter Brion Vibber, Tim Starling, Rob Church, Niklas Laxström, Ori Livneh and Ed Sanders
TemplateData 0.1.2 GPL-2.0-or-later Implement data storage for template parameters (using JSON) Timo Tijhof, Moriel Schottlender, James D. Forrester, Trevor Parscal, Bartosz Dziewoński, Marielle Volz and others
Media handlers
Extension Version License Description Authors
PDF Handler GPL-2.0-or-later Handler for viewing PDF files in image mode Martin Seidel and Mike Połtyn
Spam prevention
Extension Version License Description Authors
ConfirmEdit 1.6.0 GPL-2.0-or-later Provides CAPTCHA techniques to protect against spam and password-guessing Brion Vibber, Florian Schmidt, Sam Reed and others
API
Extension Version License Description Authors
PageImages WTFPL Collects information about images used on page Max Semenik
Other
Extension Version License Description Authors
Gadgets GPL-2.0-or-later Lets users select custom CSS and JavaScript gadgets in their preferences Daniel Kinzler and Max Semenik
MultimediaViewer GPL-2.0-or-later Expand thumbnails in a larger size in a fullscreen interface MarkTraceur (Mark Holmquist), Gilles Dubuc, Gergő Tisza, Aaron Arcos, Zeljko Filipin, Pau Giner, theopolisme, MatmaRex, apsdehal, vldandrew, Ebrahim Byagowi, Dereckson, Brion VIBBER, Yuki Shira, Yaroslav Melnychuk, tonythomas01, Raimond Spekking, Kunal Mehta, Jeff Hall, Christian Aistleitner, Amir E. Aharoni and others
OATHAuth 0.5.0 GPL-2.0-or-later AND GPL-3.0-or-later Provides authentication support using HMAC based one-time passwords Ryan Lane, Robert Vogel <vogel@hallowelt.com> and Dejan Savuljesku <savuljesku@hallowelt.com>
TextExtracts GPL-2.0-or-later Provides plain-text or limited HTML extracts of page content Max Semenik

Installed libraries

Library Version License Description Authors
christian-riesen/base32 1.4.0 MIT Base32 encoder/decoder according to RFC 4648 Christian Riesen
composer/semver 3.2.4 MIT Semver library that offers utilities, version constraint parsing and validation. Nils Adermann, Jordi Boggiano and Rob Bast
cssjanus/cssjanus 2.1.0 Apache-2.0 Convert CSS stylesheets between left-to-right and right-to-left. Roan Kattouw, Trevor Parscal and Timo Tijhof
guzzlehttp/guzzle 7.2.0 MIT Guzzle is a PHP HTTP client library Michael Dowling and Márk Sági-Kazár
guzzlehttp/promises 1.4.0 MIT Guzzle promises library Michael Dowling
guzzlehttp/psr7 1.8.5 MIT PSR-7 message implementation that also provides common utility methods Graham Campbell, Michael Dowling, George Mponos, Tobias Nyholm, Márk Sági-Kazár and Tobias Schultze
jakobo/hotp-php 2.0.0 BSD-3-Clause HOTP simplifies One Time Password systems for PHP Authentication Jakob Heuser
liuggio/statsd-php-client 1.0.18 MIT Statsd (Object Oriented) client library for PHP Giulio De Donato
monolog/monolog 2.2.0 MIT Sends your logs to files, sockets, inboxes, databases and various web services Jordi Boggiano
oojs/oojs-ui 0.42.0 MIT Provides library of common widgets, layouts, and windows. Bartosz Dziewoński, Ed Sanders, James D. Forrester, Kirsten Menger-Anderson, Kunal Mehta, Prateek Saxena, Roan Kattouw, Rob Moen, Timo Tijhof and Trevor Parscal
pear/console_getopt 1.4.3 BSD-2-Clause More info available on: http://pear.php.net/package/Console_Getopt Andrei Zmievski, Stig Bakken and Greg Beaver
pear/mail 1.4.1 BSD-2-Clause Class that provides multiple interfaces for sending emails. Chuck Hagenbuch, Richard Heyes and Aleksander Machniak
pear/mail_mime 1.10.11 BSD-3-Clause Mail_Mime provides classes to create MIME messages Cipriano Groenendal and Aleksander Machniak
pear/net_smtp 1.9.2 BSD-2-Clause An implementation of the SMTP protocol Jon Parise and Chuck Hagenbuch
pear/net_socket 1.2.2 PHP License More info available on: http://pear.php.net/package/Net_Socket Chuck Hagenbuch, Aleksander Machniak and Stig Bakken
pear/net_url2 2.2.2 BSD-3-Clause Class for parsing and handling URL. Provides parsing of URLs into their constituent parts (scheme, host, path etc.), URL generation, and resolving of relative URLs. David Coallier, Tom Klingenberg and Christian Schmidt
pear/pear-core-minimal 1.10.11 BSD-3-Clause Minimal set of PEAR core files to be used as composer dependency Christian Weiske
pear/pear_exception 1.0.2 BSD-2-Clause The PEAR Exception base class. Helgi Thormar and Greg Beaver
pleonasm/bloom-filter 1.0.2 BSD-2-Clause A pure PHP implementation of a Bloom Filter Matthew Nagi
psr/container 1.1.1 MIT Common Container Interface (PHP FIG PSR-11) PHP-FIG
psr/http-client 1.0.1 MIT Common interface for HTTP clients PHP-FIG
psr/http-message 1.0.1 MIT Common interface for HTTP messages PHP-FIG
psr/log 1.1.3 MIT Common interface for logging libraries PHP-FIG
ralouphie/getallheaders 3.0.3 MIT A polyfill for getallheaders. Ralph Khattar
symfony/polyfill-php80 1.25.0 MIT Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions Ion Bazan, Nicolas Grekas and Symfony Community
wikimedia/assert 0.5.0 MIT Provides runtime assertions Daniel Kinzler and Thiemo Kreuz
wikimedia/at-ease 2.1.0 GPL-2.0-or-later Safe replacement to @ for suppressing warnings. Tim Starling and MediaWiki developers
wikimedia/base-convert 2.0.1 GPL-2.0-or-later Convert an arbitrarily-long string from one numeric base to another, optionally zero-padding to a minimum column width. Brion Vibber and Tyler Romeo
wikimedia/cdb 1.4.1 GPL-2.0+ Constant Database (CDB) wrapper library for PHP. Provides pure-PHP fallback when dba_* functions are absent. Daniel Kinzler, Tim Starling, Chad Horohoe and Ori Livneh
wikimedia/cldr-plural-rule-parser 2.0.0 GPL-2.0-or-later Evaluates plural rules specified in the CLDR project notation. Tim Starling and Niklas Laxström
wikimedia/common-passwords 0.3.0 MIT List of the 100,000 most commonly used passwords Sam Reed
wikimedia/composer-merge-plugin 2.0.1 MIT Composer plugin to merge multiple composer.json files Bryan Davis
wikimedia/dodo 0.3.0 MIT DOm DOcument implementation Jason Linehan, C. Scott Ananian, Tim Abdullin and Wikimedia Parsing Team and the broader MediaWiki community
wikimedia/html-formatter 3.0.1 GPL-2.0-or-later Performs transformations of HTML by wrapping around libxml2 and working around its countless bugs. MediaWiki contributors
wikimedia/idle-dom 0.10.0 MIT DOM interfaces automatically generated from WebIDL C. Scott Ananian
wikimedia/ip-set 3.0.0 GPL-2.0-or-later Efficiently match IP addresses against a set of CIDR specifications. Brandon Black
wikimedia/ip-utils 3.0.2 GPL-2.0-or-later Functions and constants to play with IP addresses and ranges MediaWiki developers
wikimedia/less.php 3.1.0 Apache-2.0 PHP port of the Javascript version of LESS http://lesscss.org (Originally maintained by Josh Schmidt) Josh Schmidt, Matt Agar and Martin Jantošovič
wikimedia/minify 2.2.4 Apache-2.0 Minification of JavaScript code and CSS stylesheets. Paul Copperman, Trevor Parscal, Timo Tijhof and Roan Kattouw
wikimedia/normalized-exception 1.0.1 MIT A helper for making exceptions play nice with PSR-3 logging Gergő Tisza
wikimedia/object-factory 3.0.2 GPL-2.0-or-later Construct objects from configuration instructions Bryan Davis
wikimedia/parsoid 0.14.0 GPL-2.0-or-later Parsoid, a bidirectional parser between wikitext and HTML5 Wikimedia Parsing Team and the broader MediaWiki community
wikimedia/php-session-serializer 2.0.0 GPL-2.0-or-later Provides methods like PHP's session_encode and session_decode that don't mess with $_SESSION Brad Jorsch
wikimedia/purtle 1.0.7 GPL-2.0-or-later Fast streaming RDF serializer Daniel Kinzler, Stanislav Malyshev, C. Scott Ananian and Thiemo Kreuz
wikimedia/relpath 3.0.0 MIT Compute a relative filepath between two paths. Ori Livneh
wikimedia/remex-html 2.3.2 MIT Fast HTML 5 parser Tim Starling
wikimedia/request-timeout 1.1.0 MIT Request timeout library for Excimer with plain PHP fallback Tim Starling
wikimedia/running-stat 1.2.1 GPL-2.0+ PHP implementations of online statistical algorithms Ori Livneh
wikimedia/scoped-callback 3.0.0 GPL-2.0-or-later Class for asserting that a callback happens when a dummy object leaves scope Aaron Schulz
wikimedia/services 2.0.1 GPL-2.0-or-later Generic service to manage named services using lazy instantiation based on instantiator callback functions Daniel Kinzler
wikimedia/shellbox 2.0.0 MIT Library and server for containerized shell execution Tim Starling, Kunal Mehta and Max Semenik
wikimedia/timestamp 3.0.0 GPL-2.0-or-later Creation, parsing, and conversion of timestamps Tyler Romeo
wikimedia/utfnormal 3.0.2 GPL-2.0-or-later Contains Unicode normalization routines, including both pure PHP implementations and automatic use of the 'intl' PHP extension when present Brion Vibber
wikimedia/wait-condition-loop 2.0.2 GPL-2.0-or-later Wait loop that reaches a condition or times out Aaron Schulz
wikimedia/wikipeg 2.0.6 MIT Parser generator for JavaScript and PHP
wikimedia/wrappedstring 3.2.0 MIT Automatically compact sequentially-outputted strings that share a common prefix / suffix pair. Timo Tijhof
wikimedia/xmp-reader 0.8.1 GPL-2.0-or-later Reader for XMP data containing properties relevant to images Brian Wolff
wikimedia/zest-css 2.0.1 MIT Fast, lightweight, extensible CSS selector engine for PHP Christopher Jeffrey and C. Scott Ananian
zordius/lightncandy 1.2.6 MIT An extremely fast PHP implementation of handlebars ( http://handlebarsjs.com/ ) and mustache ( http://mustache.github.io/ ). Zordius Chen


Looking at the apach logs, there is a 425, too early - the documentation says that the server is trying to prevent a replay attack. The wiki is in a vpn and running on a windows server.


10.122.5.233 - - [31/May/2022:12:49:46 +0000] "GET /LAWiki/index.php/Main_Page HTTP/1.1" 200 17455

10.122.5.233 - - [31/May/2022:12:49:47 +0000] "GET /LAWiki/load.php?lang=en&modules=ext.visualEditor.desktopArticleTarget.noscript%7Cskins.vector.styles.legacy&only=styles&skin=vector HTTP/1.1" 304 -

10.122.5.233 - - [31/May/2022:12:49:47 +0000] "GET /LAWiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector HTTP/1.1" 304 -

10.122.5.233 - - [31/May/2022:12:49:54 +0000] "POST /LAWiki/api.php HTTP/1.1" 200 21

10.122.5.233 - - [31/May/2022:12:49:53 +0000] "GET /LAWiki/api.php?action=visualeditor&format=json&paction=parse&page=Main_Page&uselang=en&formatversion=2 HTTP/1.1" 200 425

10.122.5.233 - - [31/May/2022:12:50:02 +0000] "GET /LAWiki/api.php?action=visualeditor&format=json&paction=parse&page=Main_Page&uselang=en&formatversion=2&oldid=20 HTTP/1.1" 200 425

10.122.5.233 - - [31/May/2022:12:57:50 +0000] "POST /LAWiki/api.php HTTP/1.1" 200 21

10.122.5.233 - - [31/May/2022:12:57:52 +0000] "GET /LAWiki/index.php/Main_Page?action=edit&veswitched=1 HTTP/1.1" 200 24690

10.122.5.233 - - [31/May/2022:12:57:53 +0000] "GET /LAWiki/load.php?lang=en&modules=ext.wikiEditor.styles&only=styles&skin=vector HTTP/1.1" 304 -

10.122.5.233 - - [31/May/2022:12:57:53 +0000] "GET /LAWiki/load.php?lang=en&modules=ext.visualEditor.desktopArticleTarget.noscript%7Cmediawiki.action.edit.styles%7Cmediawiki.editfont.styles%7Cmediawiki.interface.helpers.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.styles.legacy&only=styles&skin=vector HTTP/1.1" 304 -

10.122.5.233 - - [31/May/2022:12:57:54 +0000] "GET /LAWiki/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector HTTP/1.1" 304 -

10.122.5.233 - - [31/May/2022:12:58:01 +0000] "GET / HTTP/1.1" 301 -

10.122.5.233 - - [31/May/2022:12:58:02 +0000] "GET /LAWiki/index.php/Main_Page HTTP/1.1" 200 17455

10.122.5.233 - - [31/May/2022:12:58:04 +0000] "GET /LAWiki/load.php?lang=en&modules=ext.visualEditor.desktopArticleTarget.noscript%7Cskins.vector.styles.legacy&only=styles&skin=vector HTTP/1.1" 304 -

10.122.5.233 - - [31/May/2022:12:58:08 +0000] "POST /LAWiki/api.php HTTP/1.1" 200 21

10.122.5.233 - - [31/May/2022:12:58:08 +0000] "GET /LAWiki/api.php?action=visualeditor&format=json&paction=parse&page=Main_Page&uselang=en&formatversion=2 HTTP/1.1" 200 425

::1 - - [31/May/2022:13:02:06 +0000] "GET / HTTP/1.1" 301 -

10.122.5.233 - - [31/May/2022:13:02:07 +0000] "GET /LAWiki/index.php/Main_Page HTTP/1.1" 200 17422

10.122.5.233 - - [31/May/2022:13:02:11 +0000] "GET /LAWiki/api.php?action=visualeditor&format=json&paction=parse&page=Main_Page&uselang=en&formatversion=2 HTTP/1.1" 200 425


Any ideas how I could fix this? I turned off confirmEdit, didn't help.

Bawolff (talkcontribs)

The 425 in the last line is number of bytes transferred not the status code. The status code is 200 OK.

Thermo mimi (talkcontribs)

Hi,


I see - it was just suspicious because the 304 and the 425 seem to be status codes that come together.


Any idea what I could do to at least determine which part of the system is causing this? It works fine in a xampp, the error message is different in iis and apache - but on this server, no matter which web server, it is not possible to edit existing articles, creating new ones works fine. I went through the permissions for specific address, rest url, I set rewrite rules ... none of that helped.

Bawolff (talkcontribs)

Maybe visual editor has a config for timeout size somewhere.


I guess you could try profiling the rest.php call, but that might be a little tricky to set up.

If you dont have cache setup ($wgMainCacheType), consider setting up apcu