Page MenuHomePhabricator

Pages with name ending with '/.' are not accessible
Closed, ResolvedPublic

Description

Author: beau

Description:
When I try searching for deleted pages on pl.wikipedia with prefix 'User:Beau' I got blank page as a result (MediaWiki dies?).


Version: unspecified
Severity: normal
URL: http://pl.wikipedia.org/w/index.php?title=Specjalna%3AOdtw%C3%B3rz&prefix=User%3ABeau

Details

Reference
bz21796

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 10:49 PM
bzimport set Reference to bz21796.
bzimport added a subscriber: Unknown Object (MLST).

Does this happen still? Or solved in the meantime?

beau wrote:

I still receive 'HTTP/1.0 500 Internal Server Error'.

beau wrote:

Now it does not show a blank page, but an error message:

PHP fatal error in /usr/local/apache/common-local/php-1.17/includes/specials/SpecialUndelete.php line 746:
Call to a member function getPrefixedText() on a non-object

It would be nice if 14 months old fatals were fixed somewhen...

beau wrote:

No one was interested so I took a look myself out of curiosity. With an aid of toolserver I was able to find the issue. There was a page named 'Wikipedysta:Beau/.' it was later deleted. Now such titles are invalid, so the page itself is no longer accessible.

I can see link to it using Special:Log:
https://secure.wikimedia.org/wikipedia/pl/w/index.php?title=Specjalna:Rejestr&dir=prev&offset=20080119212153&user=Beau&limit=1
and Special:DeletedContributions:
https://secure.wikimedia.org/wikipedia/pl/w/index.php?title=Specjalna:Usuni%C4%99ty_wk%C5%82ad&dir=prev&offset=20071202113605&target=Beau&limit=1

beau wrote:

Fix displaying list of deleted pages

I have created a patch, which replaces makeTitleSafe with makeTitle. It allows to display deleted pages corretly without dereferencing null pointer. However, it is still impossible to view or undelete a page with an invalid title.

Attached:

How do you think MediaWiki should behave when encountering a now-illegal page name in the database? I try to reproduce the problem (I have renamed one page by hand in the database) and this page is actually inaccessible by normal means (one gets redirected from [[User:WikiAdmin/.]] to [[User:WikiAdmin/]] all the time; it gets listed in [[Special:PrefixIndex]] only.

beau wrote:

This page was normally accessible by using index.php?title= as entry point and encoding . as %2E in the title parameter.

The change of page title validation should have been accompanied by a maintenance script, which sanitizes in some deterministic way existing titles in the database. I don't think there is a point in extending Special:Undelete to handle such rare cases with a rename & restore feature.