Page MenuHomePhabricator

Special:Undelete fails when too many checkboxes are checked
Open, MediumPublic

Description

Author: mikaey

Description:
Special:Undelete fails when more than X revisions are checked. So far, the lowest number I've been able to put on X is about 3,100. When I click on "Restore", the page acts as if it hadn't received any of the request data at all -- e.g., if you go to http://en.wikipedia.org/wiki/Special:Undelete, that's exactly what I see. Received this issue with both Chrome 23.0.1271.97m and IE9.


Version: 1.22.0
Severity: normal

Details

Reference
bz43911

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 1:39 AM
bzimport set Reference to bz43911.
bzimport added a subscriber: Unknown Object (MLST).

mikaey wrote:

Undelete page-before issue

Attached:

Undelete-Before.png (1×1 px, 176 KB)

mikaey wrote:

Undelete page-after issue

Attached:

Undelete-After.png (1×1 px, 83 KB)

mikaey wrote:

Attaching screenshots for a test case with [[en:Gjirokastër]].

Thanks for taking the time to report this!

I think this happens because we're hitting the PHP max_input_vars limit [1].

Have you tried to mark only the revisions you don't want to restore and use the "invert selection" button instead of mark the ones you want to restore? That will lower the number of variables sent to the server (if they're less than the revisions to restore) and allow you to restore the page.

But anyway, the Special:Undelete needs pagination, and I've filled bug 44410 about that.


[1] http://www.php.net/manual/info.configuration.php#ini.max-input-vars

mikaey wrote:

Yes, I have, but that button only invokes JavaScript code that simply inverts the checked status of all the checkboxes on that page -- it doesn't send a request to the server to invert the selection.

Whoops! I haven't tested it, I just inspected the HTML and saw that it was a input[type="submit"], so I assumed it was doing a server-side action.

It seems a sensible fix for this.

I encountered this bug attempting to undelete a page with approximately 1100 revisions.

I was trying to undelete Denise Donnelly with about 1800 revisions. (I have since been able to successfully undelete it in pieces and moved it to Involuntary celibacy.)