From edd @ending from debi@n@org  Thu Aug  9 20:58:44 2018
From: edd @ending from debi@n@org (Dirk Eddelbuettel)
Date: Thu, 9 Aug 2018 13:58:44 -0500
Subject: [Rd] 
 SIGSEGV in R_RunWeakRefFinalizer, object allocated with Rcpp
In-Reply-To: <a03f65c7-3e0e-7857-0e1e-a809e1051b56@gmail.com>
References: <CALEXWq2E+-k=Oka1YZAzGzYU1bLmcC3ptUUrv8RUMUrpcviK-g@mail.gmail.com>
 <a03f65c7-3e0e-7857-0e1e-a809e1051b56@gmail.com>
Message-ID: <23404.36580.740017.811392@rob.eddelbuettel.com>


On 9 August 2018 at 20:37, Tomas Kalibera wrote:
| So to answer your original question, this could probably be handled in 
| Rcpp,

Hm. Why do you say that / what did you have in mind?

Recall that we do not alter SEXPs or introduce additional additional
reference counters -- because we do not think that altering the basic R API
for such calls would be a wise strategy.  So we do more or less what is done
in C for R, with some additional hand-holding which circumvents a number of
common errors.

| but in either case I would not use dyn.unload() in the first 
| place. This problem may be just one of many.

I think I'd second that. I never had much unloading packages or dynamic
libraries and tend to "just say no". Both short-lived processes (ie via 'r')
as well as long sessions (ie R via ESS, running for weeks) work for my
workflows.

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org



[Rd] SIGSEGV in R_RunWeakRefFinalizer, object allocated with Rcpp
Dirk Eddelbuettel