Kaleido fails on AWS Lambda - docker
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 30/100
Direzione di ricerca
Inizia dal punto di ingresso fig_to_base64 e dalla relativa chiamata a pio.write_image nell’ambiente Docker AWS Lambda indicato. Riproduci il fallimento intermittente del sottoprocesso Kaleido, quindi determina se l’esportazione dell’immagine può essere completata in modo affidabile senza il crash di zygote; l’issue non fornisce alcun file sorgente né alcun test nominato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hi,
I run this code as part of my aws lambda with docker image:
import plotly.io as pio
import base64
import io
import plotly.graph_objects as go
def fig_to_base64(fig: go.Figure):
buffer = io.BytesIO()
if "--single-process" not in pio.kaleido.scope.chromium_args:
pio.kaleido.scope.chromium_args += ("--single-process",)
pio.write_image(fig=fig, file=buffer, format="png", engine="kaleido")
buffer.seek(0)
plot_base64 = base64.b64encode(buffer.read()).decode("utf-8")
buffer.close()
return plot_base64
The issue that I get 30% of the time is the following error crash (there are times which it work fine!):
Failed to start Kaleido subprocess. Error stream:
[0327/100250.883361:WARNING:resource_bundle.cc(431)] locale_file_path.empty() for locale
prctl(PR_SET_NO_NEW_PRIVS) failed
prctl(PR_SET_NO_NEW_PRIVS) failed
[0327/100251.087148:FATAL:zygote_communication_linux.cc(255)] Cannot communicate with zygote
#0 0x55555555555 base::debug::CollectStackTrace()
#1 0x55555555555 base::debug::StackTrace::StackTrace()
#2 0x55555555555 logging::LogMessage::~LogMessage()
#3 0x55555555555 content::ZygoteCommunication::Init()
#4 0x55555555555 content::CreateGenericZygote()
#5 0x55555555555 content::ContentMainRunnerImpl::Initialize()
#6 0x55555555555 content::RunContentProcess()
#7 0x55555555555 content::ContentMain()
#8 0x55555555555 headless::(anonymous namespace)::RunContentMain()
#9 0x55555555555 headless::HeadlessBrowserMain()
#10 0x55555555555 main
#11 0x55555555555 __libc_start_call_main
#12 0x55555555555 __libc_start_main_alias_2
#13 0x55555555555 _start
Received signal 6
#0 0x55555555555 base::debug::CollectStackTrace()
#1 0x55555555555 base::debug::StackTrace::StackTrace()
#2 0x55555555555 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x55555555555 (/usr/lib64/libc.so.6+0x54ddf)
#4 0x55555555555 __pthread_kill_implementation
#5 0x55555555555 __GI_raise
#6 0x55555555555 __GI_abort
#7 0x55555555555 base::debug::BreakDebugger()
#8 0x55555555555 logging::LogMessage::~LogMessage()
#9 0x55555555555 content::ZygoteCommunication::Init()
#10 0x55555555555 content::CreateGenericZygote()
#11 0x55555555555 content::ContentMainRunnerImpl::Initialize()
#12 0x55555555555 content::RunContentProcess()
#13 0x55555555555 content::ContentMain()
#14 0x55555555555 headless::(anonymous namespace)::RunContentMain()
#15 0x55555555555 headless::HeadlessBrowserMain()
#16 0x55555555555 main
#17 0x55555555555 __libc_start_call_main
#18 0x55555555555 __libc_start_main_alias_2
#19 0x55555555555 _start
r8: 0x55555555555 r9: 0x55555555555 r10: 0x55555555555 r11: 0x55555555555
r12: 0x55555555555 r13: 0x55555555555 r14: 00007ffd6fd6d1b0 r15: 0x55555555555
di: 0x55555555555 si: 0x55555555555 bp: 0x55555555555 bx: 0x55555555555
dx: 0x55555555555 ax: 0x55555555555 cx: 0x55555555555 sp: 0x55555555555
ip: 0x55555555555 efl: 0x55555555555 cgf: 0x55555555555 erf: 0x55555555555
trp: 0x55555555555 msk: 0x55555555555 cr2: 0x55555555555
[end of stack trace]
Calling _exit(1). Core file will not be generated.
(I changed all the values with 0x55555555555)
I tried as u can see above to use manual the flag of --singe_process but it is not helps.
Thank u,
- Lingua principale
- Python
- Stelle
- 504
- Fork
- 65
- Merge medio
- 6g 9h
- PR unite (30g)
- 2
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di plotly/kaleido
-
Writing to an existing directory whose name has a dot fails with "Invalid format"Forse già presa @RaphaelFakhri l’ha presa 13 giorni fa. Apertabug P3 size: 1
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
-
Deterministic Rendering ChallengesForse di nuovo libera @camdecoster l’ha presa 67 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement feature P2 size: 5
-
[FEATURE]: Embed custom fonts into vector exports (no system install)Forse già presa @camdecoster l’ha presa 124 giorni fa. Apertaenhancement P3 size: 3
-
enhancement feature P3 size: 5
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
GlobalKaleidoServer is not thread-safeForse già presa @talleibman l’ha presa 250 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Tutte le issue di plotly/kaleido
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
microsoft/onnxscript#3155 ·
I maintainer di solito rispondono entro 4 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
bug docs severity:low
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
docs good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100