-
Notifications
You must be signed in to change notification settings - Fork 102
Build Crash #30
Comments
What is your DIFF_ID parameter set to? |
so the line that's crashing on is:
it sounds like your when you run this command, what does the response object look like?
for me, it starts with: {
"error": null,
"errorMessage": null,
"response": {
"123": { |
My DIFF_ID is "6" (without quotes). On my slave I upgrade arc every time the slave comes online, which is no more than every time the job builds, but on average is less frequent. For reference, here is the output of
The output of
|
hmm... what about a valid diff ID? (1) |
also, what version/sha of phabricator backend are you running? seems like it should be returning an empty object, not an empty array |
err what is the output of this:
|
OOOOOHHHHHH. Yes, the output for that is similar to what you mentioned earlier.
I just now updated my Phabricator instance and reran the build. It's still failing. Hmm... |
Still failing with the same error? |
Yes, identical. |
I'm unclear on how that would occur. You're passing DIFF_ID=6 to the build? Either way, if you want to review the associated PR, I can deploy that and we can get some more debugging output. |
Yes, that's correct. It occurs to me that something else may be going on because Jenkins is now posting as me and not the jenkins bot in the related Diff. Let me see if my arcrc is correct before we commit to a PR. |
Yeah, looks like the arcrc didn't matter. I'll review the PR. |
I thought I would dump my whole (censored) log here for more context. Seems like there's more here. Started by remote host 191.236.121.231
You are trying to connect to a server (companyphab.cloudapp.net) that you do not have any credentials stored for. To retrieve and store credentials for this server, run this command:
[arcanist] returned non-zero exit code 1 Actually it kind of looks like the token might not be working, but I've double checked that and it is active in Phabricator and entered correctly in the Jenkins Settings. |
ok, just published 1.5, try upgrading and seeing what the output |
Hey @sectioneight, any idea when 1.5 will post? Didn't Jenkins say about 4 hours was normal? |
It's available on maven: Have you tried hitting the "update" button from your jenkins plugin manager On Tue, Jun 9, 2015 at 8:43 PM, Taylor Mansfield [email protected]
|
Hey, it finally showed up! Bad news though:
|
I'm starting to suspect it has something to do with the callback:
|
It sounds like there are two separate issues going on here. The first is that your build is getting kicked off without a DIFF_ID (or that's not being properly sent from harbormaster). Have you verified that the build parameters are being set properly when triggered by phabricator? For example, on https://jenkins.example.com/job/test-thing/1/parameters/ Since you mentioned that when you pass a valid BUILD_ID (e.g. 6) into conduit, it queries properly, it sounds like some of the ends aren't meeting in your job. The second is the "callback" you just mentioned. At what stage in the build is that? |
I am 100% certain that the DIFF_ID and PHID are passed. In the parameter log for each build, I can see that they are filled with the proper parameters. I double checked the HTTP string against the other build I know works and it seems to be constructed correctly. By "callback" I mean the post-build action that sends information back to Phabricator by commenting. |
It's possible that there might be some interference from some other plugin. I will systematically remove these options until there are none left (or until it works). |
Okay, I feel like I'm chasing my tail here. Stripping out the plugin stuff did nothing. I re-ran that string you asked me and it gave me an authentication error, then I ran it with my api token like this: Something is fishy here. I do not think it is this plugin. It could very well be something on the phabricator end. |
And it's not just my slave install, same thing happens on my laptop... |
Wow. Okay. So I had restricted the repo to just the members of the project responsible for it, and my jenkins bot was not a member of that project. When using the api key for the jenkins bot it enforced the permissions by sending an empty array. I'm stupid. The good news is that you might be able to add an error message sending people in that direction. |
Oh wow, that is strange. Can you paste me the full error response? Is there On Wednesday, June 10, 2015, Taylor Mansfield [email protected]
|
There is no error message. It just gives an empty array like has been previously posted here. Seems like there should be an error there explicitly and not nulls. |
Created https://secure.phabricator.com/T8513 to track upstream. Thanks for helping debug this. |
Thanks, @sectioneight! |
I have no idea why this is crashing. Calls to arc later in the log work just fine seemingly.
[android_app] $ arc call-conduit differential.querydiffs ********
FATAL: net.sf.json.JSONArray cannot be cast to net.sf.json.JSONObject
java.lang.ClassCastException: net.sf.json.JSONArray cannot be cast to net.sf.json.JSONObject
at com.uber.jenkins.phabricator.conduit.Differential.(Differential.java:52)
at com.uber.jenkins.phabricator.PhabricatorBuildWrapper.setUp(PhabricatorBuildWrapper.java:91)
at hudson.model.Build$BuildExecution.doRun(Build.java:156)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:537)
at hudson.model.Run.execute(Run.java:1744)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:374)
The text was updated successfully, but these errors were encountered: