mediawikimediawiki-apimediawiki-extensionsmediawiki-installation

MediaWiki, trying to investigate VisualEditor "Error contacting the Parsoid/RESTBase server (HTTP 500)"


A lot of people have the same error for many different reasons, so, after trying a composer update, I've tried to investigate it starting from the browser and reconstructing step by step what is happening. It's really hard for me and I would really appreciate help from a PHP Developer!

From Chrome Developer Tools I could find the Ajax request in the background and the called url on the server enter image description here

By playing with the url I realized that changing the action name returned a different error code, which let me understand that the current call is just a generic API in the middle between the browser and whatever is "apierror-visualeditor-docserver-http"

The Ajax call

{mysite}
/ api.php
? action=visualeditor
& paction=parse
&page=Cosa_c%27%C3%A8_da_fare%3F

Example
https://www.tematichedigenere.com/api.php?action=visualeditor&paction=parse&page=Cosa_c%27%C3%A8_da_fare%3F

The response from the Ajax call enter image description here

The serverside call to rest api

Then I can see from the Apache server's log that the api page contacts the following url (returning 500)

GET 
//rest.php/
{mywebsiteurl}
/v3/page/html/
Cosa_c%27%C3%A8_da_fare%3F/27246
?redirect=false
&stash=true    
example    
"GET //rest.php/www.tematichedigenere.com/v3/page/html/Cosa_c%27%C3%A8_da_fare%3F/27246?redirect=false&stash=true HTTP/1.0" 500 5621 "-" "VisualEditor-MediaWiki/1.38.2"

Another example of log (returning 404)

{an IP} - - 
[04/Dec/2022:14:16:12 +0000] 
"POST 
/rest.php/
{mywebsiteurl}/v3
/transform/html/to/wikitext
/Riflessioni_sulla_sessualizz._femm._collegate_-_bozza%2Fprova 
HTTP/1.0" 
404 
467 
"-" 
"VisualEditor-MediaWiki/1.38.2 X-Middleton/1"

Maybe the initial double / is wrong?

Anyway if I call the uri directly from my browser https://tematichedigenere.com/rest.php/www.tematichedigenere.com/v3/page/html/Cosa_c%27%C3%A8_da_fare%3F/27246?redirect=false&stash=true

The server does a antirobot check but I'm not sure that was the problem.

I've realized that the 500 error code hides a more complex real error which is returned by accessing directly the url from the log. enter image description here


Solution

  • As you say, the visualeditor API is mostly just a proxy to the Parsoid API. The double / is wrong (check your $wgVirtualRestConfig settings maybe), I don't think it actually matters though. The error sounds like you are using incompatible library versions - make sure MediaWiki core and the VisualEditor extension are for the same release, and that the parsoid Composer library is up to date.

    Update from OP:

    the issue was solved. I simply had to delete the folder /vendor/wikimedia/parsoid and copy it from the fresh install. I couldn't see there were disalignment because of a problem in the compare tool. I got a lot of help in the IRC channel (not in Phabricator and not in Mediawiki forums, it seems IRC is really helpful for MW products).