제목에서 말한 것처럼, 나는 판고 또는 관련에 의한 것으로 보이는 이상한 충돌을 돌았습니다.매우 랜덤 한 판고 크래시
내 프로그램이 제대로 작동하고 이상한 시각적 결함이나 다른 종류의 오류는 발생하지 않지만 이러한 종류의 오류는 대개 충돌로 이어집니다. 때로는 그냥 예외를 throw하고 계속하지만, 그 예외의 약 10 %가 충돌을 일으키지 않을 것임을 언급하지 않고 종료됩니다.
가장 일반적인 하나 : 여기
다른 시도의 일부 로그입니다(App:23224): Pango-CRITICAL **: pango_layout_set_width: assertion 'layout != NULL' failed
(App:23224): Pango-CRITICAL **: pango_layout_get_width: assertion 'layout != NULL' failed
(App:23224): Pango-CRITICAL **: pango_layout_get_extents: assertion 'layout != NULL' failed
(App:23224): Pango-CRITICAL **: pango_layout_is_wrapped: assertion 'layout != NULL' failed
(App:23224): Pango-CRITICAL **: pango_layout_is_ellipsized: assertion 'layout != NULL' failed
./Def:822: Warning: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
Gtk.main()
(App:23224): Pango-CRITICAL **: pango_layout_get_extents: assertion 'layout != NULL' failed
더 - 또는 - 덜 일반적인 하나 ...
(App:22385): Pango-CRITICAL **: pango_layout_is_wrapped: assertion 'layout != NULL' failed
(App:22385): Pango-CRITICAL **: pango_layout_is_ellipsized: assertion 'layout != NULL' failed
./Def:820: Warning: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
Gtk.main()
(App:22385): Pango-CRITICAL **: pango_layout_get_extents: assertion 'layout != NULL' failed
그리고 가장 이상한 것 :
Pango:ERROR:/build/buildd/pango1.0-1.36.3/./pango/pango-layout.c:3916:pango_layout_check_lines: assertion failed: (!layout->log_attrs)
마지막 하나만 보았습니다. 나머지 오류는 흔한 종류입니다.
어떤 아이디어
이 무슨 일 수 ... 내 응용 프로그램은 여전히 기록적인 시간에 살아있을 때는 아이러니 컬하게도, 마지막 등장하고,이 오류는 심지어 "일반적인"오류없이, 갑자기 종료?
앞서 말했듯이 위의 오류 중 하나가 종료 될 때까지 내 앱이 작동합니다.
추가 정보 :
- 내 응용 프로그램이 멀티 스레드이지만,이 오류가 ... 그렇지 않으면 뭔가 너무 불평한다 스레드 관련이있을 것 같지 않습니다!
일부 코드가 표시되어야합니다.'G_DEBUG = fatal-warnings'을 사용하면 디버깅을 돕기 위해 경고가 나타날 때마다 gdb가 중단됩니다. GTK +를 여러 스레드와 함께 사용하려는 시도가이 문제를 일으키는 것 같아요. – andlabs
필자는 andlabs에 동의해야하는데, 이것은 멀티 스레딩 문제에 강하게 냄새가 난다. – jku
나는 똑같은 생각을 했었지만 진행 상황을 지속적으로 모니터링하고 동시에 진행 상황을 업데이트 할 생각이 전혀 없었습니다! 한편, gdb가 다른 것을 발견하면 ... – PythonNoob