Infinite loop in coverer builder

Ouverte Adaptée aux débutants
#55 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
68/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Calme
Stack technique
java
Domaine
backend

Piste de recherche

Commencez par S2RegionCoverer.builder et suivez la manière dont minLevel et maxLevel sont stockés et utilisés par getCovering. Reproduisez la configuration fournie et examinez les tests existants de validation du builder ou de covering. Le travail est terminé lorsque la combinaison de niveaux invalide ne peut plus entrer dans la boucle infinie de raffinement et que la régression est couverte par un test.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

S2RegionCoverer coverer = S2RegionCoverer.builder()
    .setMinLevel(20)
    .setMaxLevel(10)
    .build();
S2Cap cap = S2Cap.fromAxisAngle(new S2Point(1, 0, 0), S1Angle.degrees(5));
S2CellUnion covering = coverer.getCovering(cap); // OutOfMemoryError

The coverer keeps trying to refine cells to reach minLevel(20), but maxLevel(10) prevents going past level 10, so it never satisfies the min level constraint and spirals until the JVM runs out of heap. Could be prevented by checking that min < max

Langage dominant
Java
Étoiles
588
Forks
230
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de google/s2-geometry-library-java

Toutes les issues de google/s2-geometry-library-java

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.