Plantage NaN sur formsemestre/<int:formsemestre_id>/decision_jury #471

Closed
opened 2022-08-09 10:35:56 +02:00 by jmplace · 3 comments
Collaborator

Sur requete decision jury en BUT (semestre pair) j ai une erreur avec la pile d appel suivante:

Traceback (most recent call last):
  File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2095, in __call__
    return self.wsgi_app(environ, start_response)
  File "/opt/scodoc/app/__init__.py", line 212, in __call__
    return self.app(environ, start_response)
  File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2080, in wsgi_app
    response = self.handle_exception(e)
  File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2077, in wsgi_app
    response = self.full_dispatch_request()
  File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1525, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1523, in full_dispatch_request
    rv = self.dispatch_request()
  File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1509, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/opt/scodoc/venv/lib/python3.9/site-packages/flask_login/utils.py", line 277, in decorated_view
    return current_app.ensure_sync(func)(*args, **kwargs)
  File "/opt/scodoc/app/decorators.py", line 79, in scodoc_function
    return func(*args, **kwargs)
  File "/opt/scodoc/app/decorators.py", line 91, in decorated_function
    return f(*args, **kwargs)
  File "/opt/scodoc/app/api/jury.py", line 34, in decisions_jury
    rows = jury_but_recap.get_jury_but_results(formsemestre)
  File "/opt/scodoc/app/but/jury_but_recap.py", line 454, in get_jury_but_results
    rows.append(get_jury_but_etud_result(formsemestre, dpv, etudid))
  File "/opt/scodoc/app/but/jury_but_recap.py", line 487, in get_jury_but_etud_result
    "moy": None if np.isnan(dec_ue1.moy_ue) else dec_ue1.moy_ue,
TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

c est le cas d une etudiante qui a fait une premiere annee en DUT puis passée en BUT
image

je soupsonne un proble sur les annees DUT mais sans avoir pu le mettre en évidence
sur un point d arret avant le plantage j ai
ligne 487: dec_ue1 non défini
pourtant le tableau deca.dec_ues est correctement rempli et la rcue a l air correcte (c est la rcue1 annee 1)
je completerai ce ticket si je trouve d autres indices

Sur requete decision jury en BUT (semestre pair) j ai une erreur avec la pile d appel suivante: ``` Traceback (most recent call last): File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2095, in __call__ return self.wsgi_app(environ, start_response) File "/opt/scodoc/app/__init__.py", line 212, in __call__ return self.app(environ, start_response) File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2080, in wsgi_app response = self.handle_exception(e) File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2077, in wsgi_app response = self.full_dispatch_request() File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1525, in full_dispatch_request rv = self.handle_user_exception(e) File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1523, in full_dispatch_request rv = self.dispatch_request() File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1509, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args) File "/opt/scodoc/venv/lib/python3.9/site-packages/flask_login/utils.py", line 277, in decorated_view return current_app.ensure_sync(func)(*args, **kwargs) File "/opt/scodoc/app/decorators.py", line 79, in scodoc_function return func(*args, **kwargs) File "/opt/scodoc/app/decorators.py", line 91, in decorated_function return f(*args, **kwargs) File "/opt/scodoc/app/api/jury.py", line 34, in decisions_jury rows = jury_but_recap.get_jury_but_results(formsemestre) File "/opt/scodoc/app/but/jury_but_recap.py", line 454, in get_jury_but_results rows.append(get_jury_but_etud_result(formsemestre, dpv, etudid)) File "/opt/scodoc/app/but/jury_but_recap.py", line 487, in get_jury_but_etud_result "moy": None if np.isnan(dec_ue1.moy_ue) else dec_ue1.moy_ue, TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe'' ``` c est le cas d une etudiante qui a fait une premiere annee en DUT puis passée en BUT ![image](/attachments/5943df3b-5143-45af-ad35-cb5c4ff8243f) je soupsonne un proble sur les annees DUT mais sans avoir pu le mettre en évidence sur un point d arret avant le plantage j ai ligne 487: dec_ue1 non défini pourtant le tableau deca.dec_ues est correctement rempli et la rcue a l air correcte (c est la rcue1 annee 1) je completerai ce ticket si je trouve d autres indices
Owner

Essai de correction non testé sur e2ca74fd50

Essai de correction non testé sur e2ca74fd506bdc66d23681028f6784702cc8834e
viennet added the
bug
à confirmer
labels 2022-08-10 07:34:29 +02:00
viennet added this to the ScoDoc 9.3 milestone 2022-08-10 07:34:35 +02:00
Author
Collaborator

éléments supplémentaire.

  • données expédiées depuis iut-scodoc.univ-lille.fr

Nouvelle tentative de debug:
remplacement du code de calcul (apres ligne 484) qui plante par

                dec_ue2 = deca.decisions_ues[rcue.ue_2.id]
                try:
                    moy_ue1 = None if np.isnan(dec_ue1.moy_ue) else dec_ue1.moy_ue
                except:
                    breakpoint()
                    moy_ue1 = None
                rcue_dict = {```
avec les données suivantes:

(Pdb) p etudid
9587
(Pdb) p etud
<Etud 9587/INFO 'SAUTIERE' 'CHARLOTTE'>
(Pdb) p dec_ue1
<DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.)
(Pdb) p dec_rcue
<DecisionsProposeesRCUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.)
(Pdb) pp deca
<DecisionsProposeesAnnee valid=None codes=['DEM', 'DEF', 'ABAN', 'ABL', 'EXCLU'] explanation=
(Pdb) pp deca.decisions_ues
{1744: <DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.),
1745: <DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.),
1746: <DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.),
1747: <DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.),
1748: <DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.),
1749: <DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.),
1772: <DecisionsProposeesUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.),
1773: <DecisionsProposeesUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.),
1774: <DecisionsProposeesUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.),
1775: <DecisionsProposeesUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.),
1776: <DecisionsProposeesUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.),
1777: <DecisionsProposeesUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.)}
(Pdb) pp dec_ue1.dict
{'code_valide': 'ADM',
'codes': ['DEM'],
'etud': <Etud 9587/INFO 'SAUTIERE' 'CHARLOTTE'>,
'explanation': 'non incrit (dem. ou déf.)',
'formsemestre': <FormSemestre 826 BUT Informatique semestre 1>,
'inscription_etat': 'D',
'moy_ue': '-',
'rcue': <RegroupementCoherentUE UE 1.1(-) UE 2.1(-)>,
'recorded': False,
'ue': <UniteEns(id=1744, formation_id=333, acronyme='UE 1.1', semestre_idx=1 )>,
'validation': None}
(Pdb)

Le statut de l'étudiante est:

![image](/attachments/bef04213-188e-49f1-bcfb-186024be89eb)

éléments supplémentaire. * données expédiées depuis iut-scodoc.univ-lille.fr Nouvelle tentative de debug: remplacement du code de calcul (apres ligne 484) qui plante par ``` dec_ue2 = deca.decisions_ues[rcue.ue_2.id] try: moy_ue1 = None if np.isnan(dec_ue1.moy_ue) else dec_ue1.moy_ue except: breakpoint() moy_ue1 = None rcue_dict = {``` avec les données suivantes: ``` (Pdb) p etudid 9587 (Pdb) p etud <Etud 9587/INFO 'SAUTIERE' 'CHARLOTTE'> (Pdb) p dec_ue1 <DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.) (Pdb) p dec_rcue <DecisionsProposeesRCUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.) (Pdb) pp deca <DecisionsProposeesAnnee valid=None codes=['DEM', 'DEF', 'ABAN', 'ABL', 'EXCLU'] explanation= (Pdb) pp deca.decisions_ues {1744: <DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.), 1745: <DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.), 1746: <DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.), 1747: <DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.), 1748: <DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.), 1749: <DecisionsProposeesUE valid=ADM codes=['DEM'] explanation=non incrit (dem. ou déf.), 1772: <DecisionsProposeesUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.), 1773: <DecisionsProposeesUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.), 1774: <DecisionsProposeesUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.), 1775: <DecisionsProposeesUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.), 1776: <DecisionsProposeesUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.), 1777: <DecisionsProposeesUE valid=None codes=['DEM'] explanation=non incrit (dem. ou déf.)} (Pdb) pp dec_ue1.__dict__ {'code_valide': 'ADM', 'codes': ['DEM'], 'etud': <Etud 9587/INFO 'SAUTIERE' 'CHARLOTTE'>, 'explanation': 'non incrit (dem. ou déf.)', 'formsemestre': <FormSemestre 826 BUT Informatique semestre 1>, 'inscription_etat': 'D', 'moy_ue': '-', 'rcue': <RegroupementCoherentUE UE 1.1(-) UE 2.1(-)>, 'recorded': False, 'ue': <UniteEns(id=1744, formation_id=333, acronyme='UE 1.1', semestre_idx=1 )>, 'validation': None} (Pdb) ``` Le statut de l'étudiante est: ![image](/attachments/bef04213-188e-49f1-bcfb-186024be89eb)
Owner

Fixed by 9d50a88f2c

Fixed by 9d50a88f2ca7f152aace349630a06a49a9d2fa6e
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: ScoDoc/ScoDoc#471
No description provided.