Autor Tópico: SC 9.2.16 - Problema na geração de fontes  (Lida 290 vezes)

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 873
  • Quem com porcos se mistura tanto bate até que fura
    • Email
SC 9.2.16 - Problema na geração de fontes
« Online: Dezembro 29, 2018, 06:29:36 pm »
Problema na geração de fontes de uma consulta com 4 campos e filtro de 10 campos select.

Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 262144 bytes) in /Applications/Scriptcase/v9/wwwroot/scriptcase/devel/generator/nm_gp_pesq_grid.php on line 3806
Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 299008 bytes) in Unknown on line 0

Já refiz a apl, não resolveu. Mudei o memory_limit do php pra 1024M, 2048M, 4096M, nada resolveu.
SC nativo pra MacOsX e conexão da apl em mysql local.
SC novamente com a característica de cansaço, dando pau de tempos em tempos, obrigando a reiniciar pra continuar trabalhando.
Tomara que o suporte resolva essa.
Rodrigo Araújo

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 2369
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
Re:SC 9.2.16 - Problema na geração de fontes
« Responder #1 Online: Dezembro 30, 2018, 08:31:24 am »
O erro é apresentado uma vez que o limite de memória do PHP é excedido
Aumente o memory_limit no php, mas tenha certeza que esta mexendo no php.ini certo.
veja no seu diagnosis.php se a mudança teve efeito.
PS: eu vi esta parte do seu tópico:
"Já refiz a apl, não resolveu. Mudei o memory_limit do php pra 1024M, 2048M, 4096M, nada resolveu"
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada. Temos servidores dedicados.
Grupo Telegram -> https://t.me/scriptcasebr
Usuário Debian, Slackware e Rwindows 10 (o videogame)

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 873
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Re:SC 9.2.16 - Problema na geração de fontes
« Responder #2 Online: Dezembro 30, 2018, 11:07:31 am »
Obrigado pela resposta Alexandre.

Realmente eu estava alterando o memory_limit do php.ini correto e verifiquei no info.php como falou.
Eu identifiquei que o erro só acontece quando acrescento vários campos select no filtro.
Quando desmarco o módulo de filtro ou quando excluo os campos, o erro não acontece e a apl é gerada bem rápido.
Se ativo o módulo de filtro novamente o erro volta.

EDIT
Publiquei um vídeo mostrando o que acontece.
https://youtu.be/Taq88uU-F9M
Lembrando que é apenas nesta apl, só que esta é a única até agora com campos select no filtro. É um projeto novo ainda com poucas apls.
« Última modificação: Dezembro 30, 2018, 11:35:05 am por rrma »
Rodrigo Araújo

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 2369
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
Re:SC 9.2.16 - Problema na geração de fontes
« Responder #3 Online: Janeiro 01, 2019, 10:39:17 pm »
Se esta consumindo memória demais pode ser um bug.
Por exemplo: um loop que esta consumindo memória.
Relate no bugs@netmake.com.br e feedback@netmake.com.br

PS: Mas também não podemos ir aumentando o memory_limit se a máquina não tem memória para isto.
Deve-se calcular a quantidade de acessos simultâneos X o número em MB que a APP esta consumindo.
Geralmente uma APP do Scriptcase consome de 65 a 90MB.
O resultado tem que ser abaixo da quantidade de memória que você tem.
Exemplo:
300 acessos x 65MB = 19500MB => 19,5 GB o app irá consumir.
Se por exemplo você tem 8GB de ram no servidor.
300 usuários simultâneos acessando a APP vai dar pau, pois irá consumir 19.5GB
Entende?
Mesmo que tenha somente 5 pessoas acessando esta APP, pense que podem existir outros ususários com acesso a outras apps neste servidor.
A conta sempre será quantidade de acessos (não importa a qual app) x o número em MB que o scripts (apps) consomem.

http://php.docow.com/aumentando-php-memory_limit-em-que-ponto-fica-louco.html
https://wiki.dialhost.com.br/funcao-do-php-para-monitorar-uso-de-memoria/
« Última modificação: Janeiro 01, 2019, 10:48:17 pm por Alexandre Pereira Bühler »
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada. Temos servidores dedicados.
Grupo Telegram -> https://t.me/scriptcasebr
Usuário Debian, Slackware e Rwindows 10 (o videogame)

paulomarcelo

  • Expert
  • *****
  • Mensagens: 665
    • Email
Re:SC 9.2.16 - Problema na geração de fontes
« Responder #4 Online: Janeiro 02, 2019, 02:47:23 pm »
Boa tarde Rodrigo, já tive este problema apenas em campos select cuja a tabela retornava muitos registros para o componente select, verifica qual destes campos selects do filtro tem muitos registros na tabela e muda o tipo dele tirando para de select para campo simples tipo numero só para tesar se funciona. Se for isso mesmo e você tendo identificado qual campo, verifica a possibilidade de carregar menos registros tipo uma campo select carregando o outro dependendo da opção escolhida no anterior ou seja o objetivo é diminuir o resultado da query deste campo select que traz muitos registros. Outra opção é se é possível não colocar este campo select com muitos registros no filtro.

Obrigado pela resposta Alexandre.

Realmente eu estava alterando o memory_limit do php.ini correto e verifiquei no info.php como falou.
Eu identifiquei que o erro só acontece quando acrescento vários campos select no filtro.
Quando desmarco o módulo de filtro ou quando excluo os campos, o erro não acontece e a apl é gerada bem rápido.
Se ativo o módulo de filtro novamente o erro volta.

EDIT
Publiquei um vídeo mostrando o que acontece.
https://youtu.be/Taq88uU-F9M
Lembrando que é apenas nesta apl, só que esta é a única até agora com campos select no filtro. É um projeto novo ainda com poucas apls.

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 873
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Re:SC 9.2.16 - Problema na geração de fontes
« Responder #5 Online: Janeiro 09, 2019, 06:32:00 pm »
Se esta consumindo memória demais pode ser um bug.
Por exemplo: um loop que esta consumindo memória.
Relate no bugs@netmake.com.br e feedback@netmake.com.br

PS: Mas também não podemos ir aumentando o memory_limit se a máquina não tem memória para isto.
Deve-se calcular a quantidade de acessos simultâneos X o número em MB que a APP esta consumindo.
Geralmente uma APP do Scriptcase consome de 65 a 90MB.
O resultado tem que ser abaixo da quantidade de memória que você tem.
Exemplo:
300 acessos x 65MB = 19500MB => 19,5 GB o app irá consumir.
Se por exemplo você tem 8GB de ram no servidor.
300 usuários simultâneos acessando a APP vai dar pau, pois irá consumir 19.5GB
Entende?
Mesmo que tenha somente 5 pessoas acessando esta APP, pense que podem existir outros ususários com acesso a outras apps neste servidor.
A conta sempre será quantidade de acessos (não importa a qual app) x o número em MB que o scripts (apps) consomem.

http://php.docow.com/aumentando-php-memory_limit-em-que-ponto-fica-louco.html
https://wiki.dialhost.com.br/funcao-do-php-para-monitorar-uso-de-memoria/


Obrigado pelo ensinamento Alexandre.
Já estou em contato com o suporte e trocando email todos os dias pra tentar resolver, parece que é um bug da 9.2.016 mesmo, estou aguardando o veredito.
Rodrigo Araújo

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 873
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Re:SC 9.2.16 - Problema na geração de fontes
« Responder #6 Online: Janeiro 09, 2019, 06:35:00 pm »
Boa tarde Rodrigo, já tive este problema apenas em campos select cuja a tabela retornava muitos registros para o componente select, verifica qual destes campos selects do filtro tem muitos registros na tabela e muda o tipo dele tirando para de select para campo simples tipo numero só para tesar se funciona. Se for isso mesmo e você tendo identificado qual campo, verifica a possibilidade de carregar menos registros tipo uma campo select carregando o outro dependendo da opção escolhida no anterior ou seja o objetivo é diminuir o resultado da query deste campo select que traz muitos registros. Outra opção é se é possível não colocar este campo select com muitos registros no filtro.

Obrigado pela resposta Alexandre.

Realmente eu estava alterando o memory_limit do php.ini correto e verifiquei no info.php como falou.
Eu identifiquei que o erro só acontece quando acrescento vários campos select no filtro.
Quando desmarco o módulo de filtro ou quando excluo os campos, o erro não acontece e a apl é gerada bem rápido.
Se ativo o módulo de filtro novamente o erro volta.

EDIT
Publiquei um vídeo mostrando o que acontece.
https://youtu.be/Taq88uU-F9M
Lembrando que é apenas nesta apl, só que esta é a única até agora com campos select no filtro. É um projeto novo ainda com poucas apls.

Oi Paulo, obrigado pela resposta.
Na verdade as tabelas consultadas tem menos de 10 registros, muitas delas apenas 1. São recém criadas e populei apenas para testes, então não retornam quase nada os selects.
O suporte desconfiou de uma global que uso pra separar os dados por projeto (tipo multiempresa) mas já testei e descartei o caso. Estou aguardando a resposta deles agora.
Rodrigo Araújo

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 873
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Re:SC 9.2.16 - Problema na geração de fontes
« Responder #7 Online: Janeiro 10, 2019, 02:32:59 pm »
Problema resolvido. O erro foi todo meu ao digitar errado o nome de um campo no select do filtro. De qq forma, o erro só acontece quando o campo é consultado via processamento ajax e, ao invés de dar erro de sql inválido, bugava o SC dando estouro de memória.
Rodrigo Araújo