Appserver não lendo ulimit corretamente

Nas ultimas versões do appserver 2310 e harpia não consigo subir meu docker mais tenho o seguinte log no appserver:


protheus_appserver  | Please wait. Numero maximo de arquivos insuficiente. Limite atual: -1
protheus_appserver  | 
protheus_appserver  | [ERROR][SERVER] OPERATIONAL LIMITS ARE INSUFFICIENT, CHECK THE INSTALATION PROCEDURES AS WELL AS 'ULIMIT' CONFIGURATION

De onde vem esse -1? não sei como é possível esse valor, ulimit -a traz:


time(seconds)        unlimited
file(blocks)         unlimited
data(kbytes)         unlimited
stack(kbytes)        8192
coredump(blocks)     unlimited
memory(kbytes)       unlimited
locked memory(kbytes) 64
process              unlimited
nofiles              1048576
vmemory(kbytes)      unlimited
locks                unlimited
rtprio               0

appserver.ini


[drivers]
active=tcp
MULTIPROTOCOLPORT=1
MULTIPROTOCOLPORTSECURE=0

[tcp]
type=tcpip
port=9999

[environment]
SourcePath=/totvs12/protheus/apo
RootPath=/totvs12/protheus_data/
RPOCustom=/totvs12/protheus/apo/custom.rpo
StartPath=/system/
x2_path=
RpoDb=Top
RpoLanguage=portuguese
RpoVersion=120
LocalFiles=ctree
Trace=0
localdbextension=.dtc
PictFormat=DEFAULT
DateFormat=DEFAULT
TOPDataBase=MSSQL
TOPServer={{DBACCESS_SERVER}}
TOPALIAS={{DBACCESS_ALIAS}}
TOPMEMOMEGA=1
FWTRACELOG=1
StartSysInDB=1

[LockServer]
Enable=0
;Server=127.0.0.1
Port=1234

[General]
;CanAcceptFSRemote=1
InstallPath=/totvs12/protheus/bin/appserver
CONSOLELOG=1
ConsoleFile=console.log
MaxStringSize=500
BuildKillUsers=1
app_environment=environment

[LICENSECLIENT]
SERVER=protheus_license
PORT=5555
LOGMESSAGES=0

[SSLCONFIGURE]
SSL2=1
SSL3=1
TLS1=2
Verbose=0

[WEBAPP]
port=5433
[WebApp/webapp]
MPP=

script inicial:


#!/usr/bin/env bash
echo "------------------------------------------------"
echo "            my-init.sh appserver                "
echo "------------------------------------------------"

# Configurando DBAccess
export DBACCESS_SERVER=${DBACCESS_SERVER:-${DBACCESS_PORT_7890_TCP_ADDR}}
export DBACCESS_ALIAS=${DBACCESS_ALIAS:-protheus}
export DBACCESS_PORT=${DBACCESS_PORT:-7890}

echo "------------------------------------------------"
echo "            replace appserver.ini               "
echo "------------------------------------------------"

/bin/sed 's/{{DBACCESS_SERVER}}/'"${DBACCESS_SERVER}"'/' -i /totvs12/protheus/bin/appserver/appserver.ini
/bin/sed 's/{{DBACCESS_ALIAS}}/'"${DBACCESS_ALIAS}"'/' -i /totvs12/protheus/bin/appserver/appserver.ini
/bin/sed 's/{{DBACCESS_PORT}}/'"${DBACCESS_PORT}"'/' -i /totvs12/protheus/bin/appserver/appserver.ini

echo "------------------------------------------------"
echo "          result appserver.ini                  "
echo "------------------------------------------------"
cat /totvs12/protheus/bin/appserver/appserver.ini

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/totvs12/protheus/bin/appserver
export PATH=$PATH:/totvs12/protheus/bin/appserver

Vinicius, você utiliza algum script para subir o appserver? Poderia anexar o script e o appserver.ini por favor.

arquivos adicionados, 22.04 a versão do ubuntu

ultima que funcionou pra mim é a 20.3.0.11

Fiz esse esquema e depois disto começou a funcionar, consegue confirmar se é isso? por que eu mexi em tanta coisa que não tenho certeza se foi isso. https://muhammadtriwibowo.medium.com/set-permanently-ulimit-n-open-files-in-ubuntu-4d61064429a

Pra mim não funcionou

instalei o linux (ubuntu) em outra máquina, tive esse problema novamente e fazendo o procedimento do link acima resolveu novamente.

Alguém conseguiu resolver isso? Para mim só funciona no WLS2. No Linux, dá esse mesmo erro -1.

Boa noite,

Conforme descrito na documentação abaixo, as versões linux com GLIBC versão 2.31 não compatíveis com o Application Server versão 20.3.0.0 ou superior. Você pode checar a versão do GLIBC usando o comando ldd --version. Se tiver usando o docker, você pode usar o debian:12 como base para geração da imagem docker com Protheus que deve funcionar.

https://tdn.totvs.com/display/tec/Application+Server+19.3.0.x+e+superiores+-+Sistemas+operacionais