Na internecie, głównym problemem jest brak np. avx, ale ten program normalnie działa, tylko czasami się wysypuje, tylko podczas importu.
Macie jakiś może pomysł co może powodować problem i w jaki sposób go próbować naprawić?
Fatal Python error: Illegal instruction
Current thread 0x76fc8010 (most recent call first):
File "/usr/lib/python3.9/site-packages/matplotlib/__init__.py", line 593 in __setitem__
File "/usr/lib/python3.9/site-packages/matplotlib/__init__.py", line 760 in _rc_params_in_file
File "/usr/lib/python3.9/site-packages/matplotlib/__init__.py", line 796 in rc_params_from_file
...
File "<frozen importlib._bootstrap>", line 680 in _load_unlocked
File "<frozen importlib._bootstrap>", line 986 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1007 in _find_and_load
File "<frozen importlib._bootstrap>", line 1030 in _gcd_import
File "/usr/lib/python3.9/importlib/__init__.py", line 127 in import_module
File "/usr/lib/python3.9/site-packages/celery/loaders/base.py", line 89 in import_module
File "/usr/lib/python3.9/site-packages/celery/utils/imports.py", line 105 in import_from_cwd
File "/usr/lib/python3.9/site-packages/celery/loaders/base.py", line 92 in import_from_cwd
File "/usr/lib/python3.9/site-packages/celery/loaders/base.py", line 86 in import_task_module
...
File "/usr/lib/python3.9/site-packages/celery/bin/celery.py", line 217 in main
File "/usr/lib/python3.9/site-packages/celery/__main__.py", line 15 in main
File "/usr/lib/python3.9/site-packages/celery/__main__.py", line 19 in
File "/usr/lib/python3.9/runpy.py", line 87 in _run_code
File "/usr/lib/python3.9/runpy.py", line 197 in _run_module_as_main
lub
Fatal Python error: Illegal instruction
Current thread 0x76fdd010 (most recent call first):
File "/usr/lib/python3.9/textwrap.py", line 431 in dedent
File "/usr/lib/python3.9/site-packages/pandas/util/_decorators.py", line 477 in __call__
File "/usr/lib/python3.9/site-packages/pandas/core/window/rolling.py", line 2041 in Rolling
File "/usr/lib/python3.9/site-packages/pandas/core/window/rolling.py", line 1862 in
...
File "<frozen importlib._bootstrap>", line 680 in _load_unlocked
File "<frozen importlib._bootstrap>", line 986 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1007 in _find_and_load
File "<frozen importlib._bootstrap>", line 1030 in _gcd_import
File "/usr/lib/python3.9/importlib/__init__.py", line 127 in import_module
File "/usr/lib/python3.9/site-packages/uvicorn/importer.py", line 21 in import_from_string
File "/usr/lib/python3.9/site-packages/uvicorn/config.py", line 477 in load
File "/usr/lib/python3.9/site-packages/uvicorn/server.py", line 67 in serve
File "/usr/lib/python3.9/asyncio/runners.py", line 44 in run
...
File "/usr/lib/python3.9/site-packages/click/core.py", line 782 in main
File "/usr/lib/python3.9/site-packages/click/core.py", line 829 in __call__
File "/usr/lib/python3.9/site-packages/uvicorn/__main__.py", line 4 in
File "/usr/lib/python3.9/runpy.py", line 87 in _run_code
File "/usr/lib/python3.9/runpy.py", line 197 in _run_module_as_main
#programowanie
bardzo wolny
oraz
losowo podczas startu
aż się prosi o opóźnienie wywołania tego skryptu
Porównaj syslogi . Może Linux czasem czegoś nie zdąży załadować.
@Klopsztanga Wstępnie przeglądałem i nie zauważyliśmy żadnych powiązań z wysypywaniem się a kolejnością uruchamiania systemowych.
Cała aplikacja uruchamia się jest zależna od redisa, który dość późno się uruchamia, więc raczej gdy aplikacje się importują, to już wszystko w systemie prawie wstało.
@wonsz - akurat jak z ręki go uruchamiamy po dłuższym okresie czasu, to problemy raczej nie występują(choć pewni nie jesteśmy). Więc dodanie delayu, pewnie nieco by problem zmniejszyło, ale jest dla nas bardzo ważne jest by ta aplikacja się uruchamiała jak najszybciej jak to możliwe.
@qarmin ok, ale opóżnienia możecie użyć do określenia wymagań środowiska do poprawnego uruchomienia skryptu. jakiś skrypt puścić co weżmie jakieś opóźnienie, zrzuci info o środowisku, spróbuje odpalić skrypt, zanotuje czy się wyjebał, zaktualizuje odpowiednio wartość opóźnienia do kolejnej iteracji, restart...i zostawić na weekend niech napierdala i zbiera dane
Masz to w dokerze? Bo wlasnie po to jest doker zeby nie bylo "u mnie dziala". Jesli nie masz kodu w dokerze to spora szansa ze to naprawi sprawe
@666 Cały system z zależnościami jest zbudowany przez nas przy użyciu Yocto i szans na wgranie dockera tam nie ma.
@qarmin no to moze raz zbudowac z tego skryptu binarke (pod konkretna platforme) tak zeby za kazdym razem nie interpretowac kodu - o ile sie nie myle to python jest interpretowalny? JIT?
@666 Pypi(które ma JIT domyślnie od dawna), nie jest w 100% kompatybilne z cpythonem, więc od razu odpada, bo niezbyt mamy ochotę na naprawianie nie swoich błędów.
W Cpython eksperymentalna wersja ma wyjść w 3.13, jednak my jesteśmy uwiązani do 3.9 - https://docs.python.org/3.13/whatsnew/3.13.html#experimental-jit-compiler
Kiedyś próbowałem też https://github.com/Nuitka/Nuitka, ale raczej niezbyt chciało to poprawnie działać(choć pewnie też źle z tego korzystałem) i nie znalazłem sposobu by to przenieść do yocto
Masz cały callstack, weź po prostu sprawdź co dokładnie poszło nie tak w pliku źródłowym.
Zaloguj się aby komentować