Heh. That was fun. In the "I learned so many things I never wanted to know" way. What's odd about this var_dump output?
The job error boiled down to a database format problem. I guess the various dumps, restores, moves and upgrades took their toll. The job table had its string columns set to a multibyte format, which had the effect that PHP would not get the same strings out as it put in, which had the effect that it did not recognize its own job types any more (WHY??? Double why. Why did it get them out technically differently, and why did it matter?). I had an error message to google:
Code: Select all
Exception from line 85 of includes/jobqueue/Job.php: Invalid job command `htmlCacheUpdate`
But the search came up blank. So I suppose I was alone. I'm leaving the error here for the next victim

Hey you: you need to edit the database definition and change mw_job.job_cmd to latin1_bin.
I'm attaching the applied patch for future use.
Any further errors and oddities, do give a shout.