dbcli / dbcli/mssql-cli

Logger is destroyed during shutdown when it's still in use

Aperta
#311 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area: non-interactive bug
Lingua principale
Python
Stelle
1.4k
Fork
191
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

We try to use the logger during shutdown but it appears that methods disappear during garbage collection. This issue pops up when shutdown is called in non-interactive mode. [Here's a thread discussing the same issue](https://bugs.python.org/issue26789).

Stack trace:
```
File "/Users/ellbosch/Repos/mssql-cli/mssqlcli/mssql_cli.py", line 197, in __del__
File "/Users/ellbosch/Repos/mssql-cli/mssqlcli/sqltoolsclient.py", line 90, in shutdown
File "/Users/ellbosch/Repos/mssql-cli/mssqlcli/jsonrpc/jsonrpcclient.py", line 184, in shutdown
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/__init__.py", line 1378, in info
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/__init__.py", line 1514, in _log
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/__init__.py", line 1524, in handle
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/__init__.py", line 1586, in callHandlers
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/__init__.py", line 894, in handle
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/__init__.py", line 1126, in emit
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/logging/__init__.py", line 1116, in _open
NameError: name 'open' is not defined
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia dal percorso di arresto in mssqlcli/mssql_cli.py (__del__), mssqlcli/sqltoolsclient.py (shutdown) e mssqlcli/jsonrpc/jsonrpcclient.py (shutdown). Riproduci l’arresto non interattivo e segui la chiamata di logging mostrata nello stack trace. Il lavoro è completato quando l’arresto non solleva più un NameError mentre il logger è ancora utilizzato durante la pulizia dell’interprete.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
cli
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.