Errors validating/saving lifecycles in 5.0.3

About a week ago, I upgraded my company’s RT from 4.4.1 to 5.0.3. It’s gone well overall, except for one thing: I can’t validate lifecycles, and can’t save them if they are invalid. Obviously, I don’t want to save an invalid lifecycle. My complaint is that I don’t get any output about the problem, just a 500 HTTP error. If I validate an invalid lifecycle, I get the same thing. Validating a lifecycle that is already valid seems to work, but that’s not very helpful. I should say that I’m using the advanced view, not the GUI. The GUI seems to be completely inaccessible to screen readers, so the advanced view is my only real option.

I’ve checked in rt.log, the Nginx error log, and the server’s syslog file (Debian) when this happens. I’ve not found any output that explains what’s happening. I’m trying to update a lifecycle; it works until I add a couple rights, at which point validating and saving it both result in the error. I can’t figure out how to have RT tell me why it’s choking on this change. What am I missing? Thanks.

I finally fixed this, and it wasn’t at all what I expected. Turns out my buffer size was being exceeded. If your lifecycle code is large, and you use Nginx, you’ll want to up your buffer size. Currently, I’m using:

fastcgi_buffer 8 8k;
fastcgi_buffer_size 8k;

That seems to work. I can now successfully validate and save lifecycles. Why I could sometimes save them previously was because of the size. I was right on the edge of exceeding the buffer size, so adding, say, a new right would push my character count high enough to max out the buffer size. Taking it out would drop me back below the max and let me save. It was never a problem with Nginx or RT, just a setting I didn’t think about that I happened to be very close to going over.

2 Likes