Mass Update Fails: "[PUT] Internal Server Error: /api/series/editor"

I tried to mass update the quality of all my shows to “HD - All”.

To do this, I went to Series > Series Editor and clicked the checkbox to select all series.
Then I chose “HD - All” from profile and clicked save. It failed and popped up the error, “[PUT] Internal Server Error: /api/series/editor”.

Here’s the output from the logs: http://pastebin.com/raw.php?i=dwqnwdKq

Worst part of all… because it failed it’s gone ahead and set the quality of all my shows to SD! How can I fix them all quickly?

Edit:
Version info:

~$ uname -a
Linux host 3.5.0-54-generic #81~precise1-Ubuntu SMP Tue Jul 15 04:02:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
~$ mono --version
Mono JIT compiler version 3.8.0 ((no/45d0ba1 Wed Sep 24 02:16:23 PDT 2014)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen

I had a similar error yesterday. A temp fix was to restart NZBdrone , after which I could mass update my shows.

Thanks @phildapunk but unfortunately that didn’t fix it and I’m still able to reproduce the issue.

Long chat in #nzbdrone:

02:54 <@Taloth> sqwaw: I can’t quicky test it on a large number of shows. But if I try for 1 it succeeds on both the current master and develop branches.
02:57 < sqwaw> Yeap, 1 show works, 5 shows just worked, and 30 shows just worked.
02:57 < sqwaw> There does seem to be an upper limit here though :slight_smile:
02:58 < sqwaw> Taloth: Thx for looking, definitely a bug in there somewhere (or maybe it’s a show name or something).
02:59 <@Taloth> sqwaw: which means we need more information.
02:59 < sqwaw> Taloth: Tell me what you need, I’m just sitting here twiddling my thumbs/sorta debugging
03:00 < sqwaw> 55 shows just worked, too.
03:00 <@Taloth> How many shows total?
03:00 < sqwaw> This also seems to fail w/ changing other parameters en masse such as montiored status
03:00 < sqwaw> 104
03:00 <@Taloth> Okay, so you just selected the first 55?
03:01 < sqwaw> Nope, first some random one. Then the next 5, The the next 30, then another 55 for shits and giggles trying to make it fail
03:02 < sqwaw> Selecting all 104 does fail but I haven’t found the # in between 55 and 104 that kicks it
03:03 <@Taloth> Okay so you checked the first 5+30+55 = 90 items. with only 14 untested.
03:03 <@Taloth> If it’s something specific to the show, test the remaining 14 items. if that succeeds do 104-1 (deselect one).
03:04 < sqwaw> Yep, just flipped those last few (my numbers were off, I think I meant 51 instead of 55) (which was 17)
03:04 < sqwaw> Everything flipped to “HD-All” w/o issue
03:04 <@Taloth> so it isn’t series specific.
03:04 < sqwaw> 104-1 fails
03:04 <@Taloth> try 99
03:05 < sqwaw> 99 fails, 90 fails, 75 worked.
03:08 < sqwaw> 76 worked too
03:08 <@Taloth> got chrome?
03:09 < sqwaw> so your range is somewhere between 76 and 90
03:09 < sqwaw> yeap
03:09 < sqwaw> devtools?
03:09 <@Taloth> would like to know the request size.
03:09 < sqwaw> of the http request? one sc
03:09 <@Taloth> Could be that the api doesn’t like the size of the request that the UI sends back to the api.
03:10 < sqwaw> 1.6kb
03:10 < sqwaw> or 1.3kb maybe
03:10 < sqwaw> seeing two sizes for a single PUT request
03:13 <@Taloth> sqwaw: that’s gotta be incorrect. it’s a request to the api/series/editor endpoint.
03:14 <@Taloth> sqwaw: try it with the 90 selected items, I expected to see a number around 180 kb. (give or take 100 kb)
03:16 < sqwaw> oh thats not helpful sorry
03:16 < sqwaw> one sec
03:16 <@Taloth> sqwaw: 168kb, and what for t
03:16 <@Taloth> the 75?
03:17 <@Taloth> (4rd line shows Content-Length)
03:17 <@Taloth> I have to go to lunch. ttyl
03:17 < sqwaw> 258kb and 256kb
03:17 < sqwaw> and it failed
03:18 < sqwaw> Content-Length: 120715
03:18 < sqwaw> oh well
03:18 < sqwaw> hopefully you’ll be able to repro
03:18 < sqwaw> enjoy lunch

Well, it isn’t the size, at least not on my windows box. Tried it with over 500, worked fine.

When I try my ubuntu server, saving works fine, it’s just that a page refresh in the Series Editor somehow doesn’t list any Profile. But when I reload via the series overview and then navigate to series editor I see the profiles.