2017-07-01 1 views
1

J'essaie actuellement d'optimiser une fonction assez longue foo. Les appels de fonction interne sont pour la plupart lapply et sapply sur xts.profvis dans R causant une erreur fatale

J'utilise assertthat et testthat à l'intérieur de ces fonctions pour tenter de déboguer et vérifier les données produites et transmises.

La fonction s'exécute en dehors de profvis parfaitement bien, et le résultat est comme prévu. Aucune de mes affirmations échoue et ne fait aucun des tests.

Cependant, quand j'enveloppe l'appel identique de foo à profvis(foo(args)), je reçois:

"R a rencontré une erreur fatale La session a pris fin."

Quand je lance la fonction avec le débogage sur le passage ligne par ligne, appel imbriqué par appel imbriqué, l'endroit où il FATALS change constamment. Cela me fait penser qu'il y a quelque chose qui ne va pas avec mon installation, ou des problèmes idiosyncratiques avec les nouveaux builds/packages que j'utilise. Ou peut-être mon système.

R version 3.4.0 (2017-04-21) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows >= 8 x64 (build 9200) 

Matrix products: default 

locale: 
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 LC_NUMERIC=C       LC_TIME=English_United States.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

loaded via a namespace (and not attached): 
[1] compiler_3.4.0 tools_3.4.0 

MISE À JOUR 1 Quand j'appelle la fonction sur mon linux VM à l'intérieur de profvis, il ne connaît pas la même erreur que sur la machine windows, donc je suppose que c'est l'une des mises à jour, j'ai déployé dans un paquet au cours des dernières semaines. Si quelqu'un d'autre a rencontré des problèmes similaires et trouvé une solution, toute aide est appréciée avant de nettoyer l'installation de Windows.

MISE À JOUR 2 Après la désinstallation de tous les paquets associés à R, et l'installation seulement celles qui sont nécessaires, le problème existe encore de façon sporadique. Il est en mesure d'exécuter une fois bien, mais échoue à chaque fois successives avec les erreurs suivantes:

  • "Error: Unable to establish connection with R session"
  • "R encountered a fatal error. The session was terminated"
+0

Vous dites que vous utilisez xts, mais votre sortie 'sessionInfo()' n'inclut pas xts. Quelle version de xts et zoo utilisez-vous? –

+0

Désolé, j'ai fourni des informations de session à partir d'une session vierge après l'une des erreurs fatales rencontrées. Mais j'avais tiré 0.10-0 de github quand j'ai fait la réinstallation de tous les paquets d'utilisateur – theGreatKatzul

Répondre

0

La solution que je eu recours à été archiver tous les paquets installés utilisateur et réinstaller uniquement ceux dont dépendait le foo. Je suppose que certaines mises à jour de paquets récentes que j'avais précédemment installées causaient des problèmes d'espace de noms. J'ai redémarré ma machine et il a semblé éclaircir le problème. Mettra à jour ce thread si le problème refait surface.