[ESS] R-devel crashes when can't find function

Toby Hocking tdhock5 @end|ng |rom gm@||@com
Wed Feb 5 22:46:28 CET 2025


Thanks Seb

I confirm that option is responsible for the crash:

(base) tdhock using tdhock-MacBook:~$ R/R-devel/bin/R -e 'foo()'

R Under development (unstable) (2025-02-02 r87676) -- "Unsuffered
Consequences"
Copyright (C) 2025 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu

R est un logiciel libre livré sans AUCUNE GARANTIE.
Vous pouvez le redistribuer sous certaines conditions.
Tapez 'license()' ou 'licence()' pour plus de détails.

R est un projet collaboratif avec de nombreux contributeurs.
Tapez 'contributors()' pour plus d'information et
'citation()' pour la façon de le citer dans les publications.

Tapez 'demo()' pour des démonstrations, 'help()' pour l'aide
en ligne ou 'help.start()' pour obtenir l'aide au format HTML.
Tapez 'q()' pour quitter R.

Le chargement a nécessité le package : grDevices
> foo()
Erreur dans foo() : impossible de trouver la fonction "foo"
Exécution arrêtée
(base) tdhock using tdhock-MacBook:~$ R/R-devel/bin/R -e
'options(show.error.locations = TRUE);foo()'

R Under development (unstable) (2025-02-02 r87676) -- "Unsuffered
Consequences"
Copyright (C) 2025 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu

R est un logiciel libre livré sans AUCUNE GARANTIE.
Vous pouvez le redistribuer sous certaines conditions.
Tapez 'license()' ou 'licence()' pour plus de détails.

R est un projet collaboratif avec de nombreux contributeurs.
Tapez 'contributors()' pour plus d'information et
'citation()' pour la façon de le citer dans les publications.

Tapez 'demo()' pour des démonstrations, 'help()' pour l'aide
en ligne ou 'help.start()' pour obtenir l'aide au format HTML.
Tapez 'q()' pour quitter R.

Le chargement a nécessité le package : grDevices
> options(show.error.locations = TRUE);foo()

 *** caught segfault ***
address 0x180, cause 'memory not mapped'
An irrecoverable exception occurred. R is aborting now ...
Erreur de segmentation (core dumped)

On Wed, Feb 5, 2025 at 2:06 PM Sebastian Meyer <seb.meyer using fau.de> wrote:

> I could reproduce the problem in R-devel.
>
> It is not an ESS-specific bug: it happens under
> `options(show.error.locations = TRUE)`, which is unset by default but
> set by ESS. The following is sufficient to trigger the segfault:
>
>      options(show.error.locations = TRUE)
>      foo()
>
> I guess the issue is related to PR#18841
> <https://bugs.r-project.org/show_bug.cgi?id=18841>, merged last week. I
> left a comment there.
>
> Best,
>
>         Sebastian
>
>
> Am 05.02.25 um 11:25 schrieb Toby Hocking via ESS-help:
> > Here is the crash report that I forgot in my original post
> >
> > ==34394== Memcheck, a memory error detector
> > ==34394== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
> > ==34394== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright
> info
> > ==34394== Command: /home/tdhock/lib/R/bin/exec/R --no-readline
> > ==34394==
> >
> > R Under development (unstable) (2025-02-02 r87676) -- "Unsuffered
> > Consequences"
> > Copyright (C) 2025 The R Foundation for Statistical Computing
> > Platform: x86_64-pc-linux-gnu
> >
> > R est un logiciel libre livré sans AUCUNE GARANTIE.
> > Vous pouvez le redistribuer sous certaines conditions.
> > Tapez 'license()' ou 'licence()' pour plus de détails.
> >
> > R est un projet collaboratif avec de nombreux contributeurs.
> > Tapez 'contributors()' pour plus d'information et
> > 'citation()' pour la façon de le citer dans les publications.
> >
> > Tapez 'demo()' pour des démonstrations, 'help()' pour l'aide
> > en ligne ou 'help.start()' pour obtenir l'aide au format HTML.
> > Tapez 'q()' pour quitter R.
> >
> > Le chargement a nécessité le package : grDevices
> >
> >> foo()
> > ==34394== Invalid read of size 8
> > ==34394==    at 0x499B77C: R_GetCurrentSrcref (in
> > /home/tdhock/lib/R/lib/libR.so)
> > ==34394==    by 0x4996DD3: verrorcall_dflt (in
> > /home/tdhock/lib/R/lib/libR.so)
> > ==34394==    by 0x49976BD: Rf_errorcall (in
> /home/tdhock/lib/R/lib/libR.so)
> > ==34394==    by 0x4997793: Rf_errorcall_cpy (in
> > /home/tdhock/lib/R/lib/libR.so)
> > ==34394==    by 0x498B205: Rf_findFun3 (in
> /home/tdhock/lib/R/lib/libR.so)
> > ==34394==    by 0x499F8B8: Rf_eval (in /home/tdhock/lib/R/lib/libR.so)
> > ==34394==    by 0x49A62A2: do_set (in /home/tdhock/lib/R/lib/libR.so)
> > ==34394==    by 0x499FA38: Rf_eval (in /home/tdhock/lib/R/lib/libR.so)
> > ==34394==    by 0x49F2F75: Rf_ReplIteration (in
> > /home/tdhock/lib/R/lib/libR.so)
> > ==34394==    by 0x49F316B: R_ReplConsole (in
> /home/tdhock/lib/R/lib/libR.so)
> > ==34394==    by 0x49F4BA3: run_Rmainloop (in
> /home/tdhock/lib/R/lib/libR.so)
> > ==34394==    by 0x49F4BB9: Rf_mainloop (in
> /home/tdhock/lib/R/lib/libR.so)
> > ==34394==  Address 0x180 is not stack'd, malloc'd or (recently) free'd
> > ==34394==
> >
> >   *** caught segfault ***
> > address 0x180, cause 'memory not mapped'
> >
> > Possible actions:
> > 1: abort (with core dump, if enabled)
> > 2: normal R exit
> > 3: exit R without saving workspace
> > 4: exit R saving workspace
> > Selection:
> >
> > On Wed, Feb 5, 2025 at 11:22 AM Toby Hocking <tdhock5 using gmail.com> wrote:
> >
> >> Hi, I'm not sure if this is a bug in R-devel or ESS, but I'm reporting
> >> here first.
> >>
> >> When I type foo() at the commend line, I expect R to give me an error
> >> message such as "function foo() not found" and that is what I get using
> the
> >> command line:
> >> (base) tdhock using tdhock-MacBook:~/R/R-devel$ ~/R/R-devel/bin/R --no-save
> -e
> >> "foo()"
> >>
> >> R Under development (unstable) (2025-02-02 r87676) -- "Unsuffered
> >> Consequences"
> >> Copyright (C) 2025 The R Foundation for Statistical Computing
> >> Platform: x86_64-pc-linux-gnu
> >>
> >> R est un logiciel libre livré sans AUCUNE GARANTIE.
> >> Vous pouvez le redistribuer sous certaines conditions.
> >> Tapez 'license()' ou 'licence()' pour plus de détails.
> >>
> >> R est un projet collaboratif avec de nombreux contributeurs.
> >> Tapez 'contributors()' pour plus d'information et
> >> 'citation()' pour la façon de le citer dans les publications.
> >>
> >> Tapez 'demo()' pour des démonstrations, 'help()' pour l'aide
> >> en ligne ou 'help.start()' pour obtenir l'aide au format HTML.
> >> Tapez 'q()' pour quitter R.
> >>
> >> Le chargement a nécessité le package : grDevices
> >>> foo()
> >> Erreur dans foo() : impossible de trouver la fonction "foo"
> >> Exécution arrêtée
> >>
> >> But when I do the same thing inside ESS, R crashes.
> >> Below I did C-u M-x R -d valgrind RET to start R with valgrind inside
> ESS,
> >> then I typed foo() RET in the *R* buffer, which crashed. Can anybody
> >> reproduce?
> >>
> >> Can somebody help me reproduce this on the command line? (outside of
> ESS)
> >> so I can report this to R-devel?
> >>
> >> Thanks
> >> Toby
> >>
> >
> >       [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > ESS-help using r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/ess-help
>
>

	[[alternative HTML version deleted]]



More information about the ESS-help mailing list