我最近收到了一个包含以下调用堆栈的崩溃日志:
library(ggplot2)
# Some fake parameter estimates
b1 <- c("2.33", "1.29", "1.15")
b2 <- c("4.45", "2.32", "2.28")
b3 <- c("2.30", "1.23", "2.10")
labs <- paste0("b1 = ", b1,
"\nb2 = ", b2, "\nb3 = ", b3)
dat <- data.frame(
x = rep(7, 3),
y = rep(41, 3),
drv = unique(mpg$drv),
labels = labs)
p <- ggplot(mpg, aes(displ, hwy)) +
geom_point() +
geom_smooth(span = 0.8) +
theme_bw() +
facet_wrap(~drv) +
geom_text(data=dat,
aes(x,y,
label=labels),
hjust=1,
size = 3.6,
inherit.aes=FALSE)
p
但是,据我所知from the docs,不应该抛出这个例外,我已经在测试程序中尝试了各种输入,并且无法重现这个例外。此外,调用此函数的代码具有有限的输入范围,因此我认为输入值正常。
我想知道这可能是一个糟糕的插件(我的程序托管插件通常用C ++编写)或其他一些代码在FPU上留下浮点错误的结果吗?
有关如何预防或至少保护自己的想法吗?
更新以回答评论中的一些问题:
更新2:原来这个客户可以重现问题并发现它与他的一个插件的许可有关。一旦许可问题得到解决,问题就会消失。这对我来说太神秘了,但在这个阶段,我很高兴他得到了解决方案。为了引用客户,它最终以不同的方式崩溃了每个主机&#34;。