WayneGitShell / GWSDAT

GroundWater Spatiotemporal Data Analysis Tool (GWSDAT) R-Shiny implementation.
https://stats-glasgow.shinyapps.io/GWSDAT
31 stars 7 forks source link

Stalls on "entering image_plot()" #217

Closed jimbdeath closed 5 years ago

jimbdeath commented 5 years ago

Shiny app runs. Go to Analyse Select Basic Example Below output

Dell Latitude E7470 Windows 10 R Studio 1.1.463 R 3.5.1 I'm not the admin (work computer)

launchApp()

Listening on http://127.0.0.1:7088 ** in fitPSplineChecker()

andrejadd commented 5 years ago

Now I get this too, after updating all packages.

andrejadd commented 5 years ago

Stack trace on warning:

where 1: stop(e)
where 2: h(simpleError(msg, call))
where 3: .handleSimpleError(function (e) 
{
    if (is.null(attr(e, "stack.trace", exact = TRUE))) {
        calls <- sys.calls()
        parents <- sys.parents()
        attr(calls, "parents") <- parents
        attr(e, "stack.trace") <- calls
    }
    if (deepStacksEnabled()) {
        if (is.null(attr(e, "deep.stack.trace", exact = TRUE)) && 
            !is.null(.globals$deepStack)) {
            attr(e, "deep.stack.trace") <- .globals$deepStack
        }
    }
    stop(e)
}, "(konvertiert von Warnung) Error in [[: Indizierung außerhalb der Grenzen", 
    quote(NULL))
where 4: doWithOneRestart(return(expr), restart)
where 5: withOneRestart(expr, restarts[[1L]])
where 6: withRestarts({
    .Internal(.signalCondition(simpleWarning(msg, call), msg, 
        call))
    .Internal(.dfltWarn(msg, call))
}, muffleWarning = function() NULL)
where 7: .signalSimpleWarning("Error in [[: Indizierung außerhalb der Grenzen", 
    quote(NULL))
where 8: warning(call. = FALSE, immediate. = TRUE, sprintf("Error in %s: %s", 
    getCallNames(list(conditionCall(cond))), conditionMessage(cond)))
where 9: printError(e)
where 10: catch(e)
where 11: value[[3L]](cond)
where 12: tryCatchOne(expr, names, parentenv, handlers[[1L]])
where 13: tryCatchList(expr, classes, parentenv, handlers)
where 14: tryCatch({
    captureStackTraces({
        result <- withVisible(force(expr))
        if (promises::is.promising(result$value)) {
            p <- promise_chain(setVisible(result), ..., catch = catch, 
                finally = finally)
            runFinally <- FALSE
            p
        }
        else {
            result <- Reduce(function(v, func) {
                if (".visible" %in% names(formals(func))) {
                  withVisible(func(v$value, .visible = v$visible))
                }
                else {
                  withVisible(func(v$value))
                }
            }, list(...), result)
            setVisible(result)
        }
    })
}, error = function(e) {
    if (!is.null(catch)) 
        catch(e)
    else stop(e)
}, finally = if (runFinally && !is.null(finally)) finally())
where 15: do()
where 16: hybrid_chain({
    if (!.destroyed) {
        shinyCallingHandlers(run())
    }
}, catch = function(e) {
    if (inherits(e, "shiny.silent.error")) {
        return()
    }
    printError(e)
    if (!is.null(.domain)) {
        .domain$unhandledError(e)
    }
}, finally = .domain$decrementBusyCount)
where 17: flushCallback()
where 18: FUN(X[[i]], ...)
where 19: lapply(.flushCallbacks, function(flushCallback) {
    flushCallback()
})
where 20: ctx$executeFlushCallbacks()
where 21: .getReactiveEnvironment()$flush()
where 22: flushReact()
where 23: serviceApp()
where 24: ..stacktracefloor..(serviceApp())
where 25: withCallingHandlers(expr, error = doCaptureStack)
where 26: globals$domain$wrapSync(expr)
where 27: promises::with_promise_domain(createStackTracePromiseDomain(), 
    expr)
where 28: captureStackTraces({
    while (!.globals$stopped) {
        ..stacktracefloor..(serviceApp())
        Sys.sleep(0.001)
    }
})
where 29: ..stacktraceoff..(captureStackTraces({
    while (!.globals$stopped) {
        ..stacktracefloor..(serviceApp())
        Sys.sleep(0.001)
    }
}))
where 30: runApp(x)
where 31: do.call("runApp", args)
where 32: print.shiny.appobj(x)
where 33: function (x, ...) 
UseMethod("print")(x)
jimbdeath commented 5 years ago

FYI - I found downgrading to the prior version of Shiny fixed my issue.

andrejadd commented 5 years ago

Thanks jimbdeath for letting me know.

I also downgraded from shiny 1.2.0 (latest) to 1.1.0 and it now works again (OS Linux, R 3.5.1).

jimbdeath commented 5 years ago

Yes, thats what I did. 1.2 down to 1.1

On Sat, Dec 15, 2018, 08:39 Andrej Aderhold <notifications@github.com wrote:

Thanks jimbdeath for letting me know.

I also downgraded from shiny 1.2.0 (latest) to 1.1.0 and it now works again (OS Linux, R 3.5.1).

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/andrejadd/GWSDAT/issues/217#issuecomment-447569232, or mute the thread https://github.com/notifications/unsubscribe-auth/AT0eZkNJ2NX72gUf4FkngE_Gp3e13XAQks5u5PuNgaJpZM4YVELO .

levvers commented 5 years ago

Fixed in commit abd6fb9a1b36b0c330af89690900a3ce6b2e6cf1. The issue was caused by the time sliders, which used to put the selected date as the label of the sliders. This required the label updating itself every time its value changes. In old versions of Shiny this worked fine, as updating the labels didn't fire the change event again. It appears to do now, so the sliders entered an infinite loop of firing events. Fixed by putting an independent output component on top of the slider, so that changing of the slider does not require it updating itself any more.