Also, the selected values you're passing to updateSelectInput are sometimes c(NA, NA, NA, NA, NA) which Shiny doesn't understand (it causes a JavaScript error in the browser). You should call na.omit on the selection before you give it to updateSelectInput. (If this makes things even worse, install the latest version of RJSONIO from CRAN--it used to have a bug with empty vectors in lists.)

Thirdly, I'd recommend adding this code to the top of your renderGvis expression:

validate(
need(nrow(selectedData()) > 0, "No data")
)

It will make it easier to detect when there are no rows in your data (rather than a blank graph which could be the result of an error or something).