rstudio / shinyloadtest

Tools for load testing Shiny applications
https://rstudio.github.io/shinyloadtest
108 stars 22 forks source link

shinyloadtest_report() - Concurrency Legend step - VECTOR_ELT() can only be applied to a 'list', not a 'NULL' #127

Open mskyttner opened 4 years ago

mskyttner commented 4 years ago

After a succesful shinycannon invocation followed by

df <- load_runs("50 users" = "./run")

the subsequent step to generate a report fails at step 69 out of 72 in the Concurrency Legend step/tick with the following exception:

shinyloadtest_report(df, "run.html")
`run - Concurrency Legend [===========================================================>---] 69/72 eta: 1sError in grid.Call(C_convert, x, as.integer(whatfrom), as.integer(whatto),  : 
  VECTOR_ELT() can only be applied to a 'list', not a 'NULL'`

Workaround: After inspecting the df (which seems to have seemingly valid values in the json column and otherwise no NULLs for any of the other columns), I tried to sidestep the runtime error by doing fix(shinyloadtest_report) and then simply commenting out the section for the tick("Concurrency Legend") at which point the report could be generated and then viewed.

mos790 commented 3 years ago

Hello, did you find a solution ? thanks Edit: Your solution work but this bug should be solved

eugen-lounkine-bms commented 2 months ago

I'm getting a different error at the same step:

<error/rlang_error> Error in gtable_trim(): ! x must be a gtable object, not a <zeroGrob/grob/gDesc> object.

Backtrace: ▆

  1. ├─shinyloadtest::shinyloadtest_report(df)
  2. │ └─... %>% ...
  3. ├─shinyloadtest:::extract_legend(.)
  4. │ └─... %>% first_grob()
  5. ├─shinyloadtest (local) first_grob(.)
  6. └─gtable::gtable_filter(., "guides")
  7. └─gtable::gtable_trim(x = x)
  8. └─gtable:::check_gtable(x)
  9. └─gtable:::stop_input_type(...)
    1. └─rlang::abort(message, ..., call = call, arg = arg)