Help with Jenkins


#1

@seantalts, can you please help me with a Jenkins error? I’m trying to merge pull request #619, but it seems to be failing the tests in test/unit/math/rev/core/ on Jenkins. However, when I run ./runTests.py test/unit/math/rev/core/ locally on the same branch, all tests pass. The branch is also up to date with develop. Is there something else that I should try?


#2

It has 6 compiler warnings from GCC:
http://d1m1s1b1.stat.columbia.edu:8080/job/Math%20Pull%20Request%20-%20Tests%20-%20Unit/779/


#3

Yeah I was just looking at that and I see me in there (vector_rng_test_helper.hpp). These files seem unrelated to the pull. Did anything change?


#4

Oh crap that is a good warning. That’s a macro not a function call, I better put curly braces around it to avoid something bad happening. But whether or not it should be in this pull haha…


#5

Thanks for pointing that out, Sean, and for commenting, Ben. My pull request is only changing one file: stan/math/prim/mat/err/check_matching_dims.hpp. @bbbales2, have you fixed the macro?


#6

So if this is the only error, I would consider this test run to have passed (and I think that should let you merge, or I can merge it for you). I think there are separate issues for 1) fixing those warnings or 2) deciding we don’t care about them.


#7

Even if it’s an one line change to a pull request that previously passed Jenkins test and its test runs successfully locally, I rather have it go through all tests and pass all tests on Jenkins.


#8

The ifs should be fixed. That’s a blunder on my part trusting Google Macros. I just wonder why these errors only appeared now? I’ll try this on gcc when I get back from fooding.

The unused function thing doesn’t seem important though.


#9

Welcome to the fun that is software maintenance!

My guess: it’s a different compiler, thus different warnings. (fun fact: g++ with the same major, minor, and patch versions on different platforms may not be the same)

There is a chance that the compiler options changed with the recent changes to the makefiles. That might also explain the failures.

That wasn’t so helpful. I’ll try to dig next chance I get (unless you solve it without me).


#10

I just tried compiling this branch with with g++.

I didn’t get the warnings when I explicitly compiled a file that uses the vector_rng_test_helper.hpp stuff.

Running the full unit tests now.

There are a bunch of warnings about

./stan/math/rev/core/set_zero_all_adjoints.hpp:14:17: warning: ‘void stan::math::set_zero_all_adjoints()’ defined but not used

But I assume those are to be ignored.


#11

Nope, didn’t end up getting errors other than the unused function ones. So I guess it’s Jenkins specific.


#12

Our makefiles are configured for the OS. The options for Windows vs Mac vs Linux, even with the same compiler, aren’t identical.


#13

Here, you can see the job ran on a Linux box: d1m1s1b1.stat.columbia.edu:8080/job/Math%20Pull%20Request%20-%20Tests%20-%20Unit/779/injectedEnvVars/

I think if you set in your make/local the OS variable to Linux, you’d get the compiler options.


#14

might be g++ 7? I don’t have g++ 7 installed on my machine.


#15

Wow I didn’t realize gcc was all the way at 7.

The three warnings about the ifs seem reasonable though. Just slap curly braces around those and then ignore the unused functions ones?


#16

I set Jenkins’ g++ to 4.9 last night as g+±7 apparently causes even more severe problems with a lot of our code (see https://github.com/stan-dev/stan/issues/2398). I asked Jenkins to retest; I think it should pass now.


#17

I checked today; it failed again. However, when I took a look, it looks like it fails because of commit 3dda8ceaf1b0da1a92ed296227d080b20ccf90eb. My pull request commit is f2e1f0fde63f61fb26b86b23e04e234bb58acad2 so I tried finding where that other commit is coming from, but I’m not having any luck. Is the commit (3dda8ceaf1b0da1a92ed296227d080b20ccf90eb) setting Jenkins’ g++ to 4.9?


#18

I can’t look into it today but Jenkins tests origin/pr/<whatever number>/merge which has the effects of merging your branch into develop, so that’s probably what that commit number is.


#19

To avoid making a bunch of threads about this, my pull is stuck as well (http://d1m1s1b1.stat.columbia.edu:8080/job/Math%20Pull%20Request%20-%20Tests%20-%20Unit/778/warnings22Result/new/ – edit: wrong link: http://d1m1s1b1.stat.columbia.edu:8080/job/Math%20Pull%20Request%20-%20Tests%20-%20Header/775/warnings22Result/)

I’m just going to wait for your (@seantalts) word to do anything on this. I could keep asking Jenkins to retest but it doesn’t seem that useful, and the warnings are outside the scope of my pull req.


#20

What does stuck mean? I can’t actually seem to visit the Jenkins site from the network I’m on (Rayleigh also had this problem!)