pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: jupyter notebook with R kernel



On Fri, 1 Oct 2021 at 10:58, Roland Illig <roland.illig%gmx.de@localhost> wrote:
>
> 01.10.2021 11:44:29 Chavdar Ivanov <ci4ic4%gmail.com@localhost>:
> > *** caught segfault ***
> > address 0x2a8, cause 'memory not mapped'
> >
> > Traceback:
> > 1: toupper(nms)
> > 2: is.factor(x)
> > 3: gsub(".", "_", toupper(nms), fixed = TRUE)
>
> This looks like one of my favorite bugs: calling toupper with a plain char as argument. Does the string contain any non-ASCII characters?
>
> In C, this is a problem. I would expect that the R runtime knows how to call C's toupper properly. In case they don't, here's the test case from the lint check I wrote for this common bug, providing further insights:
> https://github.com/NetBSD/src/blob/trunk/tests/usr.bin/xlint/lint1/msg_342.c
>
> Maybe that helps you finding the root cause.

This is the problem, indeed. Nothing to do with jupyter, it is a
problem with R itself. You get the same if you invoke R and ener
'demo()':
...
$ R

R version 4.1.1 (2021-08-10) -- "Kick Things"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64--netbsd (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

During startup - Warning message:
Setting LC_COLLATE failed, using "C"
> demo()

 *** caught segfault ***
address 0x610, cause 'memory not mapped'

Traceback:
 1: tolower(x$title)
 2: paste("R", tolower(x$title))
 3: file.show(outFile, delete.file = TRUE, title = paste("R", tolower(x$title)))
 4: print.packageIQR(x)
 5: (function (x, ...) UseMethod("print"))(x)
....

If you start it with

$ LC_ALL=C R

then all is well; one has to start the jupyter notebook the same way,
then R kernel works.

Chavdar




-- 
----


Home | Main Index | Thread Index | Old Index