Talk:MediaWiki 1.31

About this board

Issue on moving page - IncompleteRevisionException: sha1 field must not be !

6
141.77.225.60 (talkcontribs)

Dears,

we have another issue on MW 1.31.

If we try to move a page because of new page title ( URL etc ) it comes up with an error.


[ec0a0b42a6fd1b427e59fddf] /wiki/index.php?title=Spezial:Verschieben&action=submit MediaWiki\Storage\IncompleteRevisionException from line 308 of D:\wiki\htdocs\wiki\includes\Storage\RevisionStore.php: sha1 field must not be ''!

Backtrace:

#0 D:\wiki\htdocs\wiki\includes\Storage\RevisionStore.php(352): MediaWiki\Storage\RevisionStore->failOnEmpty(string, string)

#1 D:\wiki\htdocs\wiki\includes\Revision.php(1123): MediaWiki\Storage\RevisionStore->insertRevisionOn(MediaWiki\Storage\MutableRevisionRecord, Wikimedia\Rdbms\DatabaseMysqli)

#2 D:\wiki\htdocs\wiki\includes\MovePage.php(538): Revision->insertOn(Wikimedia\Rdbms\DatabaseMysqli)

#3 D:\wiki\htdocs\wiki\includes\MovePage.php(271): MovePage->moveToInternal(User, Title, string, boolean, array)

#4 D:\wiki\htdocs\wiki\includes\specials\SpecialMovepage.php(595): MovePage->move(User, string, boolean)

#5 D:\wiki\htdocs\wiki\includes\specials\SpecialMovepage.php(128): MovePageForm->doSubmit()

#6 D:\wiki\htdocs\wiki\includes\specialpage\SpecialPage.php(522): MovePageForm->execute(NULL)

#7 D:\wiki\htdocs\wiki\includes\specialpage\SpecialPageFactory.php(568): SpecialPage->run(NULL)

#8 D:\wiki\htdocs\wiki\includes\MediaWiki.php(288): SpecialPageFactory::executePath(Title, RequestContext)

#9 D:\wiki\htdocs\wiki\includes\MediaWiki.php(861): MediaWiki->performRequest()

#10 D:\wiki\htdocs\wiki\includes\MediaWiki.php(524): MediaWiki->main()

#11 D:\wiki\htdocs\wiki\index.php(42): MediaWiki->run()

#12 {main}


Thanks for help and solution to fix the problem.

Kind regards

Kghbln (talkcontribs)
141.77.225.60 (talkcontribs)

Hello I know but I actually did following


c:\php\php.exe d:\wiki\maintenance\populateRevisionSha1.php --force


without any success - nothing changed. Still the same problem/error message


thank you for further help

141.77.225.60 (talkcontribs)

Any news ? Any support on this issue ?

would be much appreciated.


thank you - kind regards

Tweety mza (talkcontribs)

I activated the debug to obtain more detail I found the following lines:

[DBQuery] wiki SELECT / * MediaWiki \ Revision \ RevisionStore :: newNullRevision * / page_latest FROM page WHERE page_id = '567' LIMIT 1 FOR UPDATE

[DBQuery] wiki SELECT / * MediaWiki \ Revision \ RevisionStore :: fetchRevisionRowFromConds * / rev_id, rev_page, rev_timestamp, rev_minor_edit, rev_deleted, rev_len, rev_parent_id, rev_sha1, rev_comment AS rev_comment_text, NULL AS` rev_comment_data`, NULL AS rev_comment_cid , rev_user, rev_user_text, NULL AS rev_actor, page_namespace, page_title, page_id, page_latest, page_is_redirect, page_len, user_name FROM` revision` INNER JOIN page ON ((page_id = rev_page)) LEFT JOIN` user` ON ((rev_user ! = 0) AND (user_id = rev_user)) WHERE rev_id = '18294' LIMIT 1

[DBQuery] wiki SELECT / * MediaWiki \ Revision \ RevisionStore :: loadSlotRecords * / slot_revision_id, slot_content_id, slot_origin, slot_role_id, content_size, content_sha1, content_address, content_model FROM slots INNER JOIN` content` ON ((slot_content_id = content_id)) WHERE slot_revision_id = '18294'

[DBQuery] wiki SELECT / * Wikimedia \ Rdbms \ Database :: ping * / 1 AS ping

[DBQuery] wiki ROLLBACK / * MWExceptionHandler :: rollbackMasterChangesAndLog * /

[exception] [84ce4d9d5080cde5574a7aee] /wiki/index.php?title=Special:MoverP%C3%A1gina&action=submit MediaWiki \ Revision \ IncompleteRevisionException from line 420 of / var / www / html / php72 / wiki / includes / Revision / RevisionStore. php: sha1 field must not be ''!

I checked in the database the table content with the following sentence:

SELECT * FROM wiki.content WHERE content_sha1 = '' OR content_sha1 = null;

And I found some records match the search filter.

I researched about the field and found

On the page Manual:Content_table you will find the description of the table and column:

content_sha1 -> Nominal hash of the content object (not necessarily of the serialized blob)

On the page "https://www.mediawiki.org/wiki/Multi-Content_Revisions/Database_Schema#content" gives a little more information:

Needed to re-calculate rev_sha1 for new revisions. Note: Should be nullable in case we want to switch to on-the-fly calculation to save space.

On the page Schema_Migration it says that for revision and file it should eventually be calculated from the blob if it is NULL.

Being an article, I did a test in which I copied the rev_sha1 into content_sha1 and the page transfer worked.

The steps I followed would be:

  1. Get from debug the rev_id and the content_id. The sentence from which I obtained it is similar to the one I obtained with the debug: SELECT slot_revision_id, slot_content_id, slot_origin, slot_role_id, content_size, content_sha1, content_address, content_model, content_id FROM slotsINNER JOIN` content` ON ((slot_content_id = content_id )) WHERE slot_revision_id = '<rev_id>';
  2. Get the rev_sha1 with the statement: SELECT * FROM wiki.revision WHERE rev_id = '<rev_id>';
  3. Copy the rev_sha1 to content_sha1: UPDATE wiki.content SET content_sha1 = '<rev_sha1>' WHERE content_id = '<content_id>';

What is between <> are values ​​that must be replaced.

Since I have several records of the content table with null value in content_sha1, you should see how to create a statement in which you review all the records, to obtain a global solution. I did not find an official solution yet, so I do not know if there is a php script that solves the problem, nor am I sure it is the correct solution.

I should do other tests to be sure. As soon as I can I do them and if I can create the global sentence I add it to the thread.

Schachi-md (talkcontribs)

the last entry is a long time ago. But I found a solution for version 1.33. I think it works also under version 1.31. You can use it without previously debug.

UPDATE

content AS con

LEFT JOIN slots AS slo ON slo.slot_content_id = con.content_id

LEFT JOIN revision AS rev ON rev.rev_id = slo.slot_revision_id

SET

  con.content_sha1 = rev.rev_sha1

WHERE

  con.content_sha1 = '' OR con.content_sha1 IS NULL

Reply to "Issue on moving page - IncompleteRevisionException: sha1 field must not be !"

Bump release note link

2
Summary by Kghbln

The link was updated.

André Costa (WMSE) (talkcontribs)
Kghbln (talkcontribs)

Thanks for the pointer. Done!

MediaWiki 1.28 Vs. MediaWiki 1.31

3
160.62.4.101 (talkcontribs)

Dear All,

We are currently running on the MediaWiki version 1.28 and the business want to know the need of upgrading it to the version 1.31.

Could you please help me with the strong reason for the upgrade.

Would there be any impact if we continue using 1.28?

Thanks in advance.

Ciencia Al Poder (talkcontribs)

MediaWiki 1.28 is no longer supported, which means, in case there's a new security bug found, there will be no fix for that, and your wiki will remain vulnerable. The actual impact may vary depending on how this bug could be exploited and the severity of it. In business it's better to be safe than sorry.

Matěj Suchánek (talkcontribs)
Reply to "MediaWiki 1.28 Vs. MediaWiki 1.31"

Installation of 1.31 does not work. Do not install.

6
Zzmonty (talkcontribs)

The installation script of 1.31 LTS has a major bug in it. Do not install MediaWiki 1.31. Hold off until this major issue is fixed. The account that is created during installation does not have sysop privileges. Actually, the data in the data database seems to be fine. The account is assigned to the group ("sysop"). Therefore the problem is most likely in the code somewhere. Maybe it has something to do with sometimes the sysop account being called "administrator" and sometimes the sysop account being called "administrators". At the end of the day, the installation does not work to a level where a regular user will not be able to fix the problem.

I already wasted a whole day and half trying to install this. Don't waste your time and energy. At the end of the day, you will just be frustrated and angry.

Legoktm (talkcontribs)

Can you please explain what exactly isn't working? What did you install, what did you expect to work, and what didn't work?

I've installed MediaWiki 1.31 quite a few times while testing the release and afterwards and didn't run into any issues.

Zzmonty (talkcontribs)

Also, the installation script should allow a user to setup a "regular user" account / autoconfirmed account / administrator account. It is bad practice to user a sysop account for regular day to day stuff. Or it should be setup like Ubuntu is setup where when a person needs to do something, they have to specifically put themselves into sysop mode.

Skizzerz (talkcontribs)

A sysop account in MediaWiki cannot do very many destructive things compared to root in Linux. Almost every action a sysop account can do is easily reversible (exception being merging page histories together, which is still reversible but is a gigantic pain to reverse).

If you feel strongly about not being an administrator for your regular account, you can create a normal user account after the wiki is set up and use that one instead.

Zzmonty (talkcontribs)

Also, links to the minor releases of Mediawiki should be provided on the installation page for a specific version. 1.31.0, 1.31.1, etc. That way if something just did an "oops", a person can easily go back a minor release version and got on with their work instead of having to wait for somebody to read this, complain I did not put it into the bug report system, assign it to somebody, somebody actually looking at it, and then fixing it. Which means that it maybe 6 months, this might actually get fixed.

Zzmonty (talkcontribs)

Version 1.31.0 does work. 1.31.1 has a new installation developer where 1.31.1 was his first installation release.

Reply to "Installation of 1.31 does not work. Do not install."

What's changed since 1.27 LTS?

6
GoodMagician (talkcontribs)

How can we summarize the changes for installations users should expect to notice when migrating from 1.27 LTS to 1.31 LTS?

Nick2253 (talkcontribs)

I agree with this sentiment. At the very least, a sub-page with any breaking changes and migration notes, since I definitely think that many users will be migrating directly from 1.27.

Kghbln (talkcontribs)
2001:558:6017:189:4857:3BE0:CCA0:87E4 (talkcontribs)

So the official statement, then, is, "no, we won't bother to provide summaries for LTS users, they just have to wade through all the release notes and try to make sense of it themselves"?? As an LTS user who's more interested in having a stable, supported wiki and focused on developing the ''content'' of my wiki rather than every minor detail about what's going on under the hood, I'm not sure I appreciate that answer. I have a hard time making sense of the release notes already ... most of it is quite obscure to anyone but developers. I thought the whole point of LTS releases was to have a stable, supported release that may not have the latest features, but does have security / bug fixes, for users who are NOT developers, and are just using this as a platform for their content?

I hope this will get serious consideration. The alternative would be investigate other platforms and move off of MediaWiki entirely. --~~~~

2001:16B8:10E3:FD00:5932:2A30:1931:42C0 (talkcontribs)

Yeah, a summery would be nice to have. But what's the problem in rading 4 (four) pages? It's a wiki after all - if you want a summary, write a summary! :-)

2405:AA00:A00D:B00:9C20:E6A9:2982:6913 (talkcontribs)

From: Version lifecycle page

"

  • To mitigate the problem of release notes, we will publish a list of new features in the upcoming LTS relative to the last LTS six months before it comes out. This means that about the time when 1.26 came out, an announcement was made for 1.23 users letting them know what changes they could expect in 1.27.

"

So where are these announcements? For sure not on the MediaWiki-announce mailing list at least.

Is the Version lifecycle page out of date or did someone forget?

Reply to "What's changed since 1.27 LTS?"

PostgreSQL 9.2+ now required.

2
Summary by Kghbln

Docu was updated.

ECS-Sark (talkcontribs)

Just a heads up.  I spent several hours trying to troubleshoot an upgrade only to find out that 1.31 now requires PostgreSQL 9.2+.  The neither this page or the upgrade page does not specifically call it out and still shows that 8.3+ is the minimal requirement.  I recommend updating the both this page and the Upgrading page to reflect this change.

Good luck.

Kghbln (talkcontribs)

Thanks a lot for the pointer. I just updated the docu to make sure that others do not run into the same "pain" as you did.

What's the timeline for a corrected release?

2
2001:558:6017:189:4857:3BE0:CCA0:87E4 (talkcontribs)

This page notes "The Nuke extension was not included in the tarball for MediaWiki 1.31.0 by mistake. If you want to use this extension, please download the extension separately. This will be fixed in the next MediaWiki release." When / how will this be corrected. Will this be a 1.31.1 release, or by saying "next release" are you saying you won't correct this until 1.32? The issue is not mentioned in [[Release notes/1.31]] ... presumably because it was an unintentional issue, but shouldn't it be mentioned? Thanks. --2001:558:6017:189:4857:3BE0:CCA0:87E4 09:22, 19 July 2018 (UTC)

Ciencia Al Poder (talkcontribs)

Usually a new "minor release" (1.31.1) is released when there's a new security bug discovered and fixed. If a major bug is fixed it may also generate a new minor release, or if there are various bugs fixed, but that depends entirely on the release team. I don't think the Nuke extension itself will be worth to generate a new minor release.

Reply to "What's the timeline for a corrected release?"

Has 1.31 been released?

5
Summary by Jdforrester (WMF)

Yes.

Prh47bridge (talkcontribs)

This page says it has, as does the email from Chad on MediaWiki-announce. However, Release notes/1.31 says it is not a release yet and is not recommended for use in production and Special:ExtensionDistributor still shows 1.30 as the latest stable release with 1.31 as the next stable candidate. I presume the answer is that 1.31 has indeed been released but inconsistent messaging doesn't give confidence. I won't complete my upgrade until I am confident that ExtensionDistributor is giving me the correct version of each extension.

Jdforrester (WMF) (talkcontribs)
Prod (talkcontribs)
Jdforrester (WMF) (talkcontribs)
Prod (talkcontribs)
Summary by Legoktm

Documentation added.

Kghbln (talkcontribs)

The configuration parameters are not documented yet. Since it will be bundled they should be documented.

@Cindy.cicalese: Do you happen to know who is working on this extension. From looking at the commit history I was unable to determine a lead here.

Cindy.cicalese (talkcontribs)

Thanks for mentioning this, @Kghbln. You are absolutely correct that the configuration parameters need to be document. I took a stab at documenting them. @Legoktm, @Reedy (WMF), perhaps you could check to see if the documentation I added is correct? We should add to the list of tasks for bundling new extensions: 1) check documentation and 2) identify a maintainer.

Kghbln (talkcontribs)

Thank you so much Cindy! Now things are much clearer for admins.

How to upgrade from 1.27 LTS to 1.31 LTS?

3
Summary by Kghbln

See the respective release notes and the upgrade file.

GoodMagician (talkcontribs)

Is a special upgrade procedure required to migrate from 1.27 LTS to 1.31 LTS?

Nick2253 (talkcontribs)

The biggest change will likely be any extensions that might stop being compatible with the new version. In particular, I don't think Semantic Mediawiki supports 1.31 yet (as of May 2018).

Kghbln (talkcontribs)

> In particular, I don't think Semantic Mediawiki supports 1.31 yet (as of May 2018).

This is officially try but I do not think that your wiki will go berserk. The "official" sandbox wiki is now using MW 1.31