Err 212 Not enough global stack

Durante várias versões de GeneXus, venho lutando com este erro. Parece o próprio Highlander.
Hoje procurando no GxTechnical uma colega me mostrou uma resposta que eu mesmo enviei respondendo alguem no fórum, 8 ou 9 anos atrás na versão 6.0 onde o problema era por uma fórmula adicionada numa KB muito grande.
Quase 10 anos depois na versão 9 me encontrei de novo com o mesmo adversário, “Err 212 Not enough global stack”, mas desta vez não é uma formula, ainda estamos procurando o erro. Temos o problema reportado a 10 dias com suporte.
Variáveis do problema que temos:

Upgrade de Development Environment de GeneXus, mas está descartado, já que temos 2 instalações uma com o upgrade 7 e outra com o 6 e o erro acontece igual.

Outra situação, é que no primeiro build all tem vezes que funciona todo ok, mas quando lançamos o segundo acontece o erro.
Fizemos uma operação de criar um novo modelo exportando os objetos da KB com problema, logramos diminuir o tamanho dos arquivos da raiz da kb, mas não conseguimos muito mais que isso. No primeiro build all passou, no segundo não.

Nossa KB é grande, porque entra dentro dos parâmetros definidos no Encontro Internacional de GeneXus de 2008, que estableceram que uma kb de mais de 1000 objetos era grande.
A nossa kb tem um pouco mais de 1700 objetos e 158 subtipos, mas sei que existem kbs bem maiores.

Outra coincidência ou não, é que os maks passaram a demorar muito em gerar, então trocamos o uso do nmake pelo gxjmake.exe o mesmo que já vem integrado em GeneXus X Evolution 1, seguindo as instruções de suporte. Isto último não resolve o problema do “Err 212 Not enough global stack”, mas disminui o tempo da geração do mak. O que também fizemos seguindo o que passaram de suporte, foi especificar por folder o que aparentemente funcionou sem dar o erro 212, só que na hora de compilar algumas classes não existiam, tivemos que especificar elas uma por uma e ai sim conseguimos compilar.

Em definitiva hoje temos este workaround, não entendi porque a especificação por folder não pegou todos os objetos, e caiu o tempo da geração do .mak.

Prometo que assim que consigamos a solução do build all como deveria ser, a mesma será postada aqui.
Se alguem tiver um palpite ou outro workaround ou qualquer dica, por favor comentem.

Muito obrigado.

Fabricio De los Santos
Gerência de Projetos – Consultoria GeneXus – Agente K2B Tools
ERP – Sistemas de Missão Crítica – Bancos de Dados.

Veja meus blogs em:
www.fabriciodelossantos.com

Esta entrada tiene 4 comentarios

  1. Fernando Ferreira

    Temos o mesmo problema com uma KB GX 9.0 gerando DotNet Web com as últimas atualizações (De e Gerador upgrade 7).
    O curioso é que temos 3 KBs:
    desenvolvimento, homologação e produção.
    A KB de homologação apresenta o problema Err 212 not enough global stack.
    Fiz o procedimento de gerar um xpz de toda a KB e consolidar em uma KB nova. Ao final do builld all ocorre o erro, mesmo ao especificar um único objeto.
    A solução foi alterar a propriedade do modelo “Generate Developer Menu Makefile” para “NO”, desse modo o erro não ocorre. Porém os objetos que são chamados dinamicamente não são compilados sendo necessário colocá-los em um webpanel que faça a chamada explicitamente a estes objetos.

  2. Fernando vai sair um novo update provavelmente que solucione esse problema eu já tenho um fix que ARTech me passou que corrige isto.
    Claro o problema é que não é oficial e não sei se gera outros erros.
    Pode pedir para eles o fix.
    Abs.
    Fabricio De los Santos

Deja un comentario