bprin 리부팅을 실행할 때 심각한 쓰레드 에러

#4 · closed · 5 comments

View on GitHub ↗

clomia

``` Fatal Python error: _enter_buffered_busy: could not acquire lock for <_io.BufferedWriter name='<stdout>'> at interpreter shutdown, possibly due to daemon threads Python runtime state: finalizing (tstate=000001E035193960) Current thread 0x00003e00 (most recent call first): <no Python frame> ```

Comments

clomia

연산 제공 연결이 끊기면 이 문제가 발생한다

clomia

그것도 아닌거 같다. 또한 일찍 종료했을때 문제가 발생한다

clomia

[해결](https://www.notion.so/05bd552c35a941c381f04b0802495c12) <- 노션에 기록

JinyoungLee115

저도 비슷한 문제 겪고있는데 해결방법 공유해주실 수 있을까요?

clomia

> 저도 비슷한 문제 겪고있는데 해결방법 공유해주실 수 있을까요? @JinyoungLee115 ### 해결법 위 에러의 경우 `0x00003e00` 이라는 쓰레드를 deamon=False 해주면 해결됩니다 ### 원인 이미 종료된 쓰레드에서 코드를 실행하려 하면 위와 같은 에러가 발생합니다. ### 작성했던 코드에 있던 구체적인 원인 A쓰레드가 B쓰레드를 생성합니다. 근데 A쓰레드가 demon=True여서 B쓰레드를 생성한 후 강제종료됩니다. A쓰레드는 이미 강제 종료 되었는데 A쓰레드가 B쓰레드를 조작하기 위해 코드를 실행하려 할 때 위와 같은 에러가 발생했습니다 ### Tip --> 종료된 데몬쓰레드가 실행하는 코드가 있는지 확인해보세요 <-- 쓰레드에 name 속성으로 이름을 지정하지 않으면 위와 같이 `0x00003e00` 이런식으로 이름이 지정되요 디버깅을 위해서 쓰레드에 name을 지정해주시는게 좋아요