rust-lang/highfive

Latest Highfive failing

nrc opened this issue · 9 comments

nrc commented

PR #136 seems to have broken Highfive on the server. The only relevant info in the logs is:

End of script output before headers: newpr.py

The web server responds with a 500 error

cc @davidalber

Bummer! I'll take a look in a little bit.

Also, I'm planning to start adding integration tests soon, so it will be harder to break the end-to-end experience.

Hmm...my local Highfive on my test repo works as expected, so something more subtle is going on. The error suggests you are putting Apache in front of Highfive. Is that right? Can you share the config file with me?

Other questions:

  • When you go to https://github.com/rust-lang/rust/settings/hooks and click edit on the webhook, do you see anything useful in the Recent Deliveries section? Particularly the response tab. I can see stack traces in there in my test repo when things go wrong.
  • Which version of Python (/usr/bin/env python --version) are you running Highfive with?
nrc commented

I'll take a look in a little bit.

Thanks!

The error suggests you are putting Apache in front of Highfive. Is that right?

Yes

Can you share the config file with me?

There's a few config files, not sure which will be useful, the only thing I thought might be relevant:

# apache2.conf
ScriptAlias /highfive/ /var/www/html/highfive/

there's no mention of highfive in the other config files that I can find

When you go to https://github.com/rust-lang/rust/settings/hooks and click edit on the webhook

No there was nothing interesting this time - just a 500 error, usually it's the first place I look for something useful

Which version of Python (/usr/bin/env python --version) are you running Highfive with?

2.7.12

I'm running Python 2.7.14. I also tried 2.7.10 and 2.7.11 since I had those lying around. I haven't tried 2.7.12, but it seems unlikely to be the cause.

I was able to rig up a working Apache setup to front my test Highfive, and it works.

Did you revert Highfive in production, @nrc? I see it's working in rust-lang/rust again. I've started trying making requests to what I'm guessing is the production Highfive to see if I can learn anything useful, but I'll need a payload for a PR from there (or I'll need to assemble one by hand). With it working, however, that's not a useful avenue right now.

nrc commented

Did you revert Highfive in production, @nrc?

I did, yeah.

My suspicion is that there is an issue finding the new Python file - payload.py. However, there doesn't seem to be a problem with irc.py, so I'm not really sure why there would be a problem, it might be that I'm done something dumb with my server setup.

That was my initial suspicion. I thought perhaps you were installing Highfive using setup.py, but that looks fine. Are you open to deploying again at some point (I guess the alternatives are never deploying again or undoing my commits)? When that happens, I can try doing was I was going above and maybe you can tar up the contents of /var/www/html/highfive/ (minus the config file).

nrc commented

Are you open to deploying again at some point

Yeah. My preference is to try and move Highfive to Rust infra and hope that this just works when we set everything up from scratch (and do it properly, rather than my amateurish attempts). If that doesn't work then it should be possible to give you access to the server once it is on better infra. I'm waiting on the infra team to help out with that, if it is going to take a while though, then I can re-deploy and we can try to figure out what is happening.

Sounds good. Thanks!