containers4docker
containers4docker copied to clipboard
Crash após logar-se no BB
Acabei de fazer um build do Dockerfile e quando entro no container pelo BB, digito conta e senha ele chega a carregar a tela principal da conta, mas 1 seg depois Crash. Gah. Your tab just crashed. Já restaurei, reiniciei e nada...
Erro do console do docker
Handler function NetworkEventActorProxy.addResponseContent threw an exception: [Exception... "Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIMessageSender.sendAsyncMessage]" nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/webconsole/network-monitor.js :: NetworkEventActorProxy.methodFactory/< :: line 1660" data: no]
Stack: NetworkEventActorProxy.methodFactory/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/webconsole/network-monitor.js:1660:5
exports.makeInfallible/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/ThreadSafeDevToolsUtils.js:101:14
NetworkResponseListener.prototype._onComplete@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/webconsole/network-monitor.js:621:5
NetworkResponseListener.prototype.onStreamClose@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/webconsole/network-monitor.js:578:7
NetworkResponseListener.prototype.onInputStreamReady@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/webconsole/network-monitor.js:669:7
Line: 1660, column: 0
Alguma dica?
O erro se repete ao usar a imagem latest que você subiu!!! Estou usando Docker for Windows
Conteudo do abrirBB.bat que criei:
docker run -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -v ./Downloads:/home/bank/Downloads -e DISPLAY=192.168.1.221:0.0 --name warsaw-browser lichti/warsaw-browser bb
Algo errado?
Instalar o plugin do BB no Windows é relativamente simples, mas quem fez isso sabe que este plugin acaba com a máquina. Lentidão e travamentos constantes. Para quem é desenvolvedor de software, não raramente você terá arquivos bloqueados e que geram problemas sem qualquer sentido. Já vi o plugin travar arquivos .java e obrigar o desenvolvedor a reiniciar a máquina.
Se esta imagem permitir funcionar dentro do Windows, vários problemas vão ser resolvidos.
Valeu!!!
@humbertosales
Duas considerações, primeiro, por que está usando docker para windows, no meu projeto que é o pioneiro do gênero abri uma issue https://github.com/farribeiro/wscef-docker/issues/27 para experimentação. Enquanto esste projeto troquei expertise, conforme sugerido pelo @lbssousa pelo Issue https://github.com/farribeiro/wscef-docker/issues/16 .
A segunda consideração é a respeito do uso do java, não é necessário, conforme rebati em um artigo publicado pelo BR-Linux. A minha solução pelo menos foi testada no Fedora 25 e Opensuse Tumbleweed e muitos outros relatos de sucesso no Arch Linux, sem uso do WAYLAND e a respeito de utilizar no windows, o firefox sobe normalmente no windows?
O intuo destas soluções, existe até uma com VM, conforme o comentário no issue https://github.com/farribeiro/wscef-docker/issues/10#issuecomment-311753635 é ajudar a nossa "irmandade" software livre porém devemos ir além
Eu estou com exatamente o mesmo problema aqui: imediatamente após a autenticação (eu chego a ver a tela do Banco do Brasil), a aba acusa erro. Estou usando na Debian Buster (testing) e a saída do console é:
[Parent 148] WARNING: pipe error (52): Connection reset by peer: file /tmp/buildd/firefox-esr-52.2.0esr/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 322 [Parent 148] WARNING: pipe error (42): Connection reset by peer: file /tmp/buildd/firefox-esr-52.2.0esr/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 322
###!!! [Parent][MessageChannel] Error: (msgtype=0x2C0085,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv
Também tenho tido o mesmo problema (Debian Stable), preciso olhar com calma o erro que aparece no console, não prestei atenção.
Um detalhe é que eu não estou usando a opção --rm
para rodar o projeto, visando manter a "autentição" que o BB faz "da máquina".
Além disso, estranhamente se eu consigo clicar em alguns links da página do BB, como "saldo", ai a página abre sem erro. Mas muitas outras partes continuam levantando a mesma mesnagem ("Crash. Gah. Your tab just crashed
")
Reportando o output que vejo aqui do docker:
[Parent 24] WARNING: pipe error (60): Connection reset by peer: file /tmp/buildd/firefox-esr-52.2.0esr/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 322
###!!! [Parent][MessageChannel] Error: (msgtype=0x2C0085,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv
###!!! [Parent][MessageChannel] Error: (msgtype=0x2C0085,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv
[Parent 24] WARNING: pipe error (43): Connection reset by peer: file /tmp/buildd/firefox-esr-52.2.0esr/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 322
###!!! [Parent][MessageChannel] Error: (msgtype=0x2C0085,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv
esse recv aí parece problema de dbus. lembre-se: container não vem com dbus server
@ninrod Poderia explicar como poderia sanar este problema?
teria que ter systemd no container. e isso é muito difícil de se fazer. Poderia tentar usar o chrome. o chrome é difícil de usar em container justamente porque usa o electron e o electron usa dbus pra caramba no linux. tem gente que já resolveu esse problema em um container, por exemplo aqui (mas faz 2 anos que não há um commit nesse repo). Enfim, estou estudando opções para driblar esse vírus warsaw.
o chrome roda em container sem problema se voce usar
chrome --no-sandbox
obrigado @hradec. Eu estudei mais a fundo o problema e acho que se o usuário adicionar a flag --shm-size:2g
o problema é consertado. Acontece que por padrão o docker usa uma área de memória compartilhada = 64MB
e isso não é suficiente para o firefox. Estou escrevendo um pull request com um conserto completo. Mas por enquanto vocês podem testar isso e me enviar feedback caso funcione ou não.
Salve @ninrod ! Testei o parâmetro que você indicou aqui e funcionou redondo! Muito obrigado!
Só uma pequena correção. Na minha máquina com Debian, ao invés de colocar o parâmetro como --shm-size:2g
tive que colocar como --shm-size 2g
, pois estava dando erro de sintaxe.
@aracnus e @ninrod poderia mostrar o sintaxe completa do comando run ou build para compreender como estão procedendo na resolução deste problema?
@farribeiro, é assim:
function warsaw-browser {
xhost +
docker run -it --rm \
-e DISPLAY=unix$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $(readlink -f .):/opt/assets \
--shm-size 2g \
--name warsaw-browser \
-w /opt/assets \
lichti/warsaw-browser bb
}
alias bb="warsaw-browser bb"
aí você roda exec zsh
ou exec bash
, e digita bb
. é isso.
No meu caso, nem cheguei nesse grau de preciosismo. :-) Simplesmente rodei o comando do docker em uma única linha:
docker run -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -v $HOME/ArquivosDoBanco:/home/bank/Downloads -e DISPLAY=unix$DISPLAY --shm-size 2g --name warsaw-browser lichti/warsaw-browser bb
(mas é puro desleixo meu) ;-)
Acabei de baixar a imagem e tive o mesmo problema, que resolvi com o --shm-size 2g
. Pelo jeito, essa correção ainda não foi enviada para a imagem no docker-hub.
Só reportando que o container está funcionando no Docker for Windows. Segui os passos desse link: https://dev.to/darksmile92/run-gui-app-in-linux-docker-container-on-windows-host-4kde O IP necessário é da interface vEthernet (default switch) e usei o comando abaixo para rodar o container:
docker run -it --rm -e DISPLAY=$DISPLAY --name warsaw-browser --shm-size 2g lichti/warsaw-browser bb