`R_CallMethodDef callMethods[]` mostly don't specify the number of arguments.
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 68/100
Piste de recherche
Commencez dans src/init.c par les routines .Call enregistrées auxquelles renvoie l’issue. Comparez le nombre réel d’arguments de chaque routine à son entrée dans R_CallMethodDef et remplacez -1 par le nombre vérifié. Vérifiez les appels .Call du package et exécutez les tests pertinents pour confirmer que les nombres d’enregistrement correspondent ; l’issue ne précise aucun test particulier.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
WRE 5.4 specifies that R can check the number of arguments given to .Call when invoking package-registered routines. (The actual code doing this is a bit scary, because FFI is hard.) This is important because calling a function through an incompatible function pointer is undefined behaviour in C. The exact consequences can range from almost harmless (the missing argument contains garbage, which you can ignore / the extra argument is just invisible to the function) to complete stack corruption and a quick crash.
Most functions registered for use with .Call in data.table specify -1 instead of the number of arguments. While I'm sure that all calls from R to C code in data.table currently use the correct number of arguments, explicitly specifying this will surface accidental future mistakes immediately instead of causing hard-to-debug crashes.
Tagging this for @igorsteinmacher.
- Langage dominant
- R
- Étoiles
- 3.9k
- Forks
- 1.1k
- Merge moyen
- 1 j 23 h
- PR mergées (30 j)
- 14
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Rdatatable/data.table
-
as.data.table() recurses without end on a survival::Surv object (or any data.frame carrying one)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Rdatatable/data.table#7887 ·
Les mainteneurs répondent en général sous 1 jour
-
test() doesn't distinguish plain NA_real_, NaNPeut-être pris @MichaelChirico l’a pris il y a 91 jours. Ouverteconsistency tests
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Rdatatable/data.table#7853 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
HAVE_LONG_DOUBLE is conditioned on but never setPeut-être pris @venom1204 l’a pris il y a 535 jours. Ouverteinternals
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Rdatatable/data.table#6938 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
encoding fread
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Rdatatable/data.table#5179 · 8 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
documentation programming
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Rdatatable/data.table#3199 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de Rdatatable/data.table
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 71/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
OHDSI/PatientLevelPrediction#688 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
rfordatascience/tidytuesday#1098 ·