If jenkins already hase the environment variable DISPLAY set then a job using the Xvnc plugin will see this global value instead of the one that Xvnc chooses.
I upgraded jenkins by doing an ssh to the master and running "sudo apt-get install jenkins". Because ssh forwards X the DISPLAY variable was set to "localhost:10" in jenkins.
When Xvnc now runs the job it chooses a different value for DISPLAY, say "localhost:45". However, the job still sees the value "localhost:10" and fails because this is not a usable display.