wmde / wikibase-release-pipeline

BSD 3-Clause "New" or "Revised" License
46 stars 33 forks source link

Wikibase interface - Can't add statements to an item #670

Closed felipe-mr1 closed 3 months ago

felipe-mr1 commented 5 months ago

I'm using wikibase with the extended installation (tags/wmde.20) and I've added items with some properties through quickstatements. The issue is I can't add or edit these properties through the wikibase interface. When I try to add them, it won't recognize any of the properties that I have in the input box, and when I edit them, it won't show the input box.

Also, when I switch to the old interface via preferences, the search box behaves unexpectedly, endlessly searching for an item without producing any results.

searchbox

However, with the newer interface, this functionality works fine.

When running this locally, everything functions smoothly without any issues. However, upon setting it up on the server, I encountered this specific problem.

When attempting to add a statement, I receive the following message in the console:

jquery.js:9940  Mixed Content: The page at 'https://my.host/wiki/Item:Q1?wprov=acrw1_0' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://my.host/w/api.php?action=wbsearchentities&search=s&format=json&errorformat=plaintext&language=en&uselang=en&type=property'. This request has been blocked; the content must be served over HTTPS.

Is there a way to solve this problem? make this request with https?

Changing $wgServer from WebRequest::detectServer() to "https://my.host" will "solve" this problem but then QS and WDQS will not work.

Edit: I tried changing this value to a protocol-relative URL and $wgCanonicalServer to an absolute URL and now it works (https://www.mediawiki.org/wiki/Manual:HTTPS)

megamattc commented 4 months ago

Hello,

I noticed that felipe-mr1's error is very similar to mine.

When I try to install a local copy of wikibase (extended version), the search boxes are unable to recall any items or properties. The drop down menu always says 'Match not found'. This means it is impossible to use the wikibase. I tried this for MediaWiki 1.41.1-wmde.20 as well as several older images. Only when I installed the simple version of the wikibase (no mysql container etc.) was this search box feature functioning. This means the problem is being caused by the extra containers in the extended version.

More than a week ago I posted a more comprehensive error report on phabricator that included log output errors. Perhaps here it will receive a helpful answer.

Steps to replicate the issue (include links if applicable):

Install wikibase docker version 1.41.1-wmde.20, as indicated on MediaWiki (https://www.mediawiki.org/wiki/Wikibase/Docker), installing extended suite with the following additional steps: Add the following line to the .env file: WIKIBASE_MAX_DAYS_BACK=365

Also, within the docker-compose.extra.yml file add the following line to the environment section of wdqs-updater:

WIKIBASE_MAX_DAYS_BACK=${WIKIBASE_MAX_DAYS_BACK} (This was done to correct an update error in Wikibase Docker version 1.40. I don't know if it is still necessary but I do it anyway to be sure) *Build the containers

Also install WikibaseLexemes for version MediaWiki 1.41

What happens?: After I manually create a few items and properties in the wikibase, the system is unable to locate these items either in the general search window or in the windows used for creating new statements or lexemes. The drop down menu always says 'Match not found'. Yet the Recent Changes page shows these items/properties were created. Sparql queries also do not retrieve any results.

In addition, there are various error messages for the various containers. Below I give the errors from a few of them.

For the mysql container, it is:

[Warning] Aborted connection 3 to db: 'unconnected' user: 'unauthenticated' host: '172.19.0.7' (This connection closed normally without authentication)
[Warning] Aborted connection 4 to db:....
[Warning] Aborted connection 5 to db:....
[Warning] Aborted connection 6 to db:....

For the updater container, it is:
2024-05-05 23:48:11 Exception in thread "main" org.wikidata.query.rdf.tool.exception.ContainedException: Non-200 response from triple store: HttpContentResponse[HTTP/1.1 503 Service Unavailable - 0 bytes] body=
2024-05-05 23:48:11
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.rdf.client.RdfClient.execute(RdfClient.java:130)
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.rdf.client.RdfClient.query(RdfClient.java:78)
2024-05-05 23:48:01 Updating via http://wdqs.svc:9999/bigdata/namespace/wdq/sparql
2024-05-05 23:48:05 #logback.classic pattern: %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
2024-05-05 23:48:05 06:48:05.267 [main] INFO org.wikidata.query.rdf.tool.Update - Starting Updater 0.3.137 ([1ac054ca5bfa49a6f743c581decf5c9be649f455](https://phabricator.wikimedia.org/rWDQR1ac054ca5bfa49a6f743c581decf5c9be649f455))
2024-05-05 23:48:10 06:48:10.078 [main] INFO o.w.q.r.t.change.ChangeSourceContext - Checking where we left off
2024-05-05 23:48:10 06:48:10.079 [main] INFO o.w.query.rdf.tool.rdf.RdfRepository - Checking for left off time from the updater
2024-05-05 23:48:11 06:48:11.159 [main] ERROR org.wikidata.query.rdf.tool.Update - Error during initialization.
2024-05-05 23:48:11 org.wikidata.query.rdf.tool.exception.ContainedException: Non-200 response from triple store: HttpContentResponse[HTTP/1.1 503 Service Unavailable - 0 bytes] body=
2024-05-05 23:48:11
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.rdf.client.RdfClient.execute(RdfClient.java:130)
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.rdf.client.RdfClient.query(RdfClient.java:78)
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.rdf.RdfRepository.dateFromQuery(RdfRepository.java:417)
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.rdf.RdfRepository.fetchLeftOffTime(RdfRepository.java:386)
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.change.ChangeSourceContext.getStartTime(ChangeSourceContext.java:92)
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.Update.initialize(Update.java:144)
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.Update.main(Update.java:97)
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.rdf.RdfRepository.dateFromQuery(RdfRepository.java:417)
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.rdf.RdfRepository.fetchLeftOffTime(RdfRepository.java:386)
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.change.ChangeSourceContext.getStartTime(ChangeSourceContext.java:92)
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.Update.initialize(Update.java:144)
2024-05-05 23:48:11 at org.wikidata.query.rdf.tool.Update.main(Update.java:97)

For the frontend container, it is:

2024-05-06 00:02:32 2024/05/06 07:02:32 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2024-05-06 00:02:32 2024/05/06 07:02:32 [notice] 1#1: start worker processes
2024-05-06 00:02:32 2024/05/06 07:02:32 [notice] 1#1: start worker process 15
2024-05-06 00:02:32 2024/05/06 07:02:32 [notice] 1#1: start worker process 16
2024-05-06 00:02:32 2024/05/06 07:02:32 [notice] 1#1: start worker process 17
2024-05-06 00:02:32 2024/05/06 07:02:32 [notice] 1#1: start worker process 19
2024-05-06 00:02:32 2024/05/06 07:02:32 [notice] 1#1: start worker process 20
2024-05-06 00:02:32 2024/05/06 07:02:32 [notice] 1#1: start worker process 21
2024-05-06 00:02:32 2024/05/06 07:02:32 [notice] 1#1: start worker process 22
2024-05-06 00:02:32 2024/05/06 07:02:32 [notice] 1#1: start worker process 23
2024-05-06 00:02:32 2024/05/06 07:02:32 [emerg] 22#22: io_setup() failed (38: Function not implemented)
2024-05-06 00:02:32 2024/05/06 07:02:32 [emerg] 17#17: io_setup() failed (38: Function not implemented)
2024-05-06 00:02:32 2024/05/06 07:02:32 [emerg] 21#21: io_setup() failed (38: Function not implemented)
2024-05-06 00:02:32 2024/05/06 07:02:32 [emerg] 20#20: io_setup() failed (38: Function not implemented)
2024-05-06 00:02:32 2024/05/06 07:02:32 [emerg] 23#23: io_setup() failed (38: Function not implemented)
2024-05-06 00:02:32 2024/05/06 07:02:32 [emerg] 15#15: io_setup() failed (38: Function not implemented)
2024-05-06 00:02:32 2024/05/06 07:02:32 [emerg] 16#16: io_setup() failed (38: Function not implemented)
2024-05-06 00:02:33 2024/05/06 07:02:32 [emerg] 19#19: io_setup() failed (38: Function not implemented)

For the proxy container, it is:

2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: using the "epoll" event method
2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: nginx/1.25.4
2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: built by gcc 12.2.0 (Debian 12.2.0-14)
2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: OS: Linux 6.6.16-linuxkit
2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: start worker processes
2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: start worker process 16
2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: start worker process 18
2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: start worker process 20
2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: start worker process 21
2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: start worker process 23
2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: start worker process 26
2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: start worker process 28
2024-05-05 23:50:44 2024/05/06 06:50:44 [notice] 13#13: start worker process 29
2024-05-05 23:50:44 2024/05/06 06:50:44 [emerg] 23#23: io_setup() failed (38: Function not implemented)
2024-05-05 23:50:44 2024/05/06 06:50:44 [emerg] 26#26: io_setup() failed (38: Function not implemented)
2024-05-05 23:50:44 2024/05/06 06:50:44 [emerg] 20#20: io_setup() failed (38: Function not implemented)
2024-05-05 23:50:44 2024/05/06 06:50:44 [emerg] 28#28: io_setup() failed (38: Function not implemented)
2024-05-05 23:50:44 2024/05/06 06:50:44 [emerg] 29#29: io_setup() failed (38: Function not implemented)
2024-05-05 23:50:44 2024/05/06 06:50:44 [emerg] 16#16: io_setup() failed (38: Function not implemented)
2024-05-05 23:50:44 2024/05/06 06:50:44 [emerg] 18#18: io_setup() failed (38: Function not implemented)
2024-05-05 23:50:44 2024/05/06 06:50:44 [emerg] 21#21: io_setup() failed (38: Function not implemented)
2024-05-06 00:02:02 qemu: uncaught target signal 3 (Quit) - core dumped

What should have happened instead?: Created items/properties should appear in the search windows used to create statements, lexemes. Sparql queries should be able to retries these items.

Software version (on Special:Version page; skip for WMF-hosted wikis like Wikipedia): 1.41.1-wmde.20, Mac M1

Other information (browser name/version, screenshots, etc.): I basically followed the direct instructions to install Wikibase Docker 1.41.1. I do not see why these errors should be occurring.

I am unsure why felipe-mr1 was able to get his extended wikibase to work 'locally' when I was unable to

felipe-mr1 commented 4 months ago

Hi meggamattc,

What's the status of your Wikibase Jobrunner container? I remember my container wasn't running and was stuck on 'Restarting' status. I had to navigate to the files extra-install.sh and jobrunner-entrypoint.sh and, using a code editor, change the end-of-line sequence from CRLF to LF.

Raise the containers again, and once they're all running fine, you can create items and search using the search box (it takes a couple of seconds to save the item).

However, I still have the same issue on my server with the request😕

megamattc commented 4 months ago

Hi Felipe,

Final, another person who has experienced this kind of error!

However, my Jobrunner container looks like it is running normally. If you look at my original comment on github, it will show you the containers that give error messages and what those error messages are. I did not have the item recall problem for the basic installation, which includes only the wikibase, jobrunner, and mysql containers. It is when I did the extended install, with the containers for sparql query, that the item recall problem surfaces.

Are you working with the most recent wikibase docker version (1.41.1-wmde.20)? I do not recall having any problem with CRLF vs. LF. It is strange that we are experiencing the same surface problem but perhaps arising from different causes.

felipe-mr1 @.***> 于2024年5月10日周五 14:35写道:

Hi meggamattc,

What's the status of your Wikibase Jobrunner container? I remember my container wasn't running and was stuck on 'Restarting' status. I had to navigate to the files extra-install.sh and jobrunner-entrypoint.sh and, using a code editor, change the end-of-line sequence from CRLF to LF.

Raise the containers again, and once they're all running fine, you can create items and search using the search box (it takes a couple of seconds to save the item).

However, I still have the same issue on my server with the request😕

— Reply to this email directly, view it on GitHub https://github.com/wmde/wikibase-release-pipeline/issues/670#issuecomment-2105299063, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALEYQYG6YNPZM4LQUUO7DWDZBU4SRAVCNFSM6AAAAABG4OWAK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBVGI4TSMBWGM . You are receiving this because you commented.Message ID: @.***>

felipe-mr1 commented 4 months ago

Yes, I've been working with the latest version 1.41.1-wmde.20 and, before that, with tags/wmde.17 and in both cases I had no problems with the search boxes or WDQS (The only problem was one of my containers not running but it's not your case)

megamattc commented 4 months ago

I wonder, are you running the wikibase on an M1 chip or x86 chip? I recently tried installing extended wikibase on both types of computers and had the same problem. However, some people have still suggested the problem is caused by the M1 chip.

felipe-mr1 @.***> 于2024年5月13日周一 11:19写道:

Yes, I've been working with the latest version 1.41.1-wmde.20 and, before that, with tags/wmde.17 and in both cases I had no problems with the search boxes or WDQS (The only problem was one of my containers not running but it's not your case)

— Reply to this email directly, view it on GitHub https://github.com/wmde/wikibase-release-pipeline/issues/670#issuecomment-2108514393, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALEYQYADERMCCUSCK3ZTY7LZCD7ZVAVCNFSM6AAAAABG4OWAK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBYGUYTIMZZGM . You are receiving this because you commented.Message ID: @.***>

felipe-mr1 commented 4 months ago

on an x86 chip, I'm curious about why you have the same problem on both type of computers

megamattc commented 4 months ago

I don't know why. The x86 computer is an older Macbook Air while the M1 computer is a fairly new Macbook Air as well. The discussions of the main error ('aborted connection...') occur in the context about MariaDB but do not, as far as I know, talk about M1 incompatibility. See e.g. https://github.com/MariaDB/mariadb-docker/issues/560.

To be honest, I do not know if this aborted connection is even the cause of the item-retrieval problem. It is just a 'warning'... felipe-mr1 @.***> 于2024年5月13日周一 13:16写道:

on an x86 chip, I'm curious about why you have the same problem on both type of computers

— Reply to this email directly, view it on GitHub https://github.com/wmde/wikibase-release-pipeline/issues/670#issuecomment-2108724726, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALEYQYDHEZBBPLZZTT7FBQ3ZCENRTAVCNFSM6AAAAABG4OWAK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBYG4ZDINZSGY . You are receiving this because you commented.Message ID: @.***>

megamattc commented 3 months ago

Unfortunately, the problem still persists on my setup...