当在docker容器中绘图时,Jupyter R崩溃了

时间:2016-06-09 01:53:04

标签: r docker jupyter jupyter-irkernel

我正在尝试使用Docker设置Jupyter。我想提供多种语言内核(python,scala,R等)现在它似乎适用于其他人但是R. 每次我执行'plot'功能时,浏览器都会告诉我“内核似乎已经死了。它会自动重启”

日志中的错误消息是:

 ***caught segfault ***
 address 0x35da0, cause 'memory not mapped'
 Traceback:
 1: png(tf, width, height, "in", pointsize, bg, res, antialias = antialias)
 2: dev.cb(tf)
 3: repr_recordedplot_generic(obj, ".png", TRUE, function(tf) png(tf, width, height, "in", pointsize, bg, res, antialias = antialias))
 4: repr_png.recordedplot(plotobj)
 5: mime2repr[mime]
 6: doTryCatch(return(expr), name, parentenv, handler)
 7: tryCatchOne(expr, names, parentenv, handlers[[1L]])
 8: tryCatchList(expr, classes, parentenv, handlers)
 9: tryCatch({ formats[[mime]] <- mime2repr[mime]}, error = handle_error)
 10: send_plot(last_recorded_plot)
 11: executor$execute(msg)
 12: handle_shell()
 13: kernel$run()
 14: IRkernel::main()
 aborting ... 
 [I 2016-06-08 19:41:02.360 XX restarter:103] KernelRestarter: restarting kernel (1/5)
 WARNING:root:kernel XXXXXXXXXXXXXXXXXX restarted

如果我首先从浏览器(Google Chrome)执行png()jpeg()的功能,则plot()功能可以成功执行。我不知道为什么会这样,运行png()jpeg()后会发生什么变化。有没有人在Jupyter或R中遇到过类似的问题?

1 个答案:

答案 0 :(得分:0)

这最终避免在下载/安装R软件包时使用conda。相反,使用CRAN。在conda中编译的软件包似乎有问题。