Docker command: python3 odoo/odoo-bin --addons-path kmitl,stock-logistics-warehouse,stock-logistics-request,product-attribute,social,account-analytic,partner-contact,operating-unit,agreement,server-backend,account-reconcile,mis-builder,reporting-engine,odoo/addons,odoo/odoo/addons,account-financial-reporting,project,server-tools,server-ux,hr,account-financial-tools,web,account-invoicing,purchase-workflow,server-brand,l10n-thailand,odoo-modules --workers 2 --gevent-port 8070 --max-cron-threads 1 -d 10282-16-0-without_demo --proxy-mode --db-filter %d.*$ --smtp 172.17.0.1 --without-demo=true ================================================= Adding readonly volume '/data/build/kmitl' pointing to /home/runbot/odoo/runbot/runbot/static/sources/kmitl/7aff8947e3fc80033ed1efe915e7eca86fec4b86 Adding readonly volume '/data/build/stock-logistics-warehouse' pointing to /home/runbot/odoo/runbot/runbot/static/sources/stock-logistics-warehouse/4ded282901dbe451243face1dc503e9ed1b620a9 Adding readonly volume '/data/build/stock-logistics-request' pointing to /home/runbot/odoo/runbot/runbot/static/sources/stock-logistics-request/fa8a67256aee66a5bd67b1b18d23c14f1b7b9813 Adding readonly volume '/data/build/product-attribute' pointing to /home/runbot/odoo/runbot/runbot/static/sources/product-attribute/38ea6888224751633abae5815935e3a545ae1256 Adding readonly volume '/data/build/social' pointing to /home/runbot/odoo/runbot/runbot/static/sources/social/6c3434b688ebe352c732a21a1d407dc3a0a36bec Adding readonly volume '/data/build/account-analytic' pointing to /home/runbot/odoo/runbot/runbot/static/sources/account-analytic/fec6e3417836f7ad13ebd4d27283e261bc07d73a Adding readonly volume '/data/build/partner-contact' pointing to /home/runbot/odoo/runbot/runbot/static/sources/partner-contact/7acbeb8d0c21198d69a70ba1b1452a78e2a7aa55 Adding readonly volume '/data/build/operating-unit' pointing to /home/runbot/odoo/runbot/runbot/static/sources/operating-unit/dd59492d9e04ec4e642f47fbd50171ee0ffb7cf1 Adding readonly volume '/data/build/agreement' pointing to /home/runbot/odoo/runbot/runbot/static/sources/agreement/800e753cb5b92e131c5e36187a108ea4ca53327e Adding readonly volume '/data/build/server-backend' pointing to /home/runbot/odoo/runbot/runbot/static/sources/server-backend/ccf608782f610e261b1b5f72e8424c2dab99240e Adding readonly volume '/data/build/account-reconcile' pointing to /home/runbot/odoo/runbot/runbot/static/sources/account-reconcile/c031db9d53d140afdf1991a5523ee1ee092fb4b5 Adding readonly volume '/data/build/mis-builder' pointing to /home/runbot/odoo/runbot/runbot/static/sources/mis-builder/82d391759055ce801b41a2f01b1b3ab376772648 Adding readonly volume '/data/build/reporting-engine' pointing to /home/runbot/odoo/runbot/runbot/static/sources/reporting-engine/4cafaadb095d80094848d2798efb1c304861bff6 Adding readonly volume '/data/build/odoo' pointing to /home/runbot/odoo/runbot/runbot/static/sources/odoo/6491e0054d0437fb77913921e1fd3cd42894d883 Adding readonly volume '/data/build/account-financial-reporting' pointing to /home/runbot/odoo/runbot/runbot/static/sources/account-financial-reporting/948901d96ccb79b4826b408a1ca7cede4c537e6d Adding readonly volume '/data/build/project' pointing to /home/runbot/odoo/runbot/runbot/static/sources/project/7a5c615cba09f592cd08dbf4651b99cda015affe Adding readonly volume '/data/build/server-tools' pointing to /home/runbot/odoo/runbot/runbot/static/sources/server-tools/3abe25d79aab954027f4c5a8ba687c36270bab14 Adding readonly volume '/data/build/server-ux' pointing to /home/runbot/odoo/runbot/runbot/static/sources/server-ux/23e96d195dd78187789f42264a206350e470b01c Adding readonly volume '/data/build/hr' pointing to /home/runbot/odoo/runbot/runbot/static/sources/hr/3af635cbe54e9c75ef90cd63b98ed4455052d6b9 Adding readonly volume '/data/build/account-financial-tools' pointing to /home/runbot/odoo/runbot/runbot/static/sources/account-financial-tools/c3b3e7dd5e286fff8aac66ad80786e0dbec8138c Adding readonly volume '/data/build/web' pointing to /home/runbot/odoo/runbot/runbot/static/sources/web/fb9be06e9da8d720c834788c1b9f41acb51c600e Adding readonly volume '/data/build/account-invoicing' pointing to /home/runbot/odoo/runbot/runbot/static/sources/account-invoicing/7207e6e26a87963ceb058e74180001ba9c9b703c Adding readonly volume '/data/build/purchase-workflow' pointing to /home/runbot/odoo/runbot/runbot/static/sources/purchase-workflow/ecf70d6c2eb670c11b39ca20541306962f7ef39d Adding readonly volume '/data/build/server-brand' pointing to /home/runbot/odoo/runbot/runbot/static/sources/server-brand/2bc45d771dd696bd99a18c2219fa835288372372 Adding readonly volume '/data/build/l10n-thailand' pointing to /home/runbot/odoo/runbot/runbot/static/sources/l10n-thailand/0b7b078e68b0147a4f1a335839f99b7360110448 Adding readonly volume '/data/build/odoo-modules' pointing to /home/runbot/odoo/runbot/runbot/static/sources/odoo-modules/7652967336542a595e1847fa8dceb6a6a23d81c3 Adding readonly volume '/home/runbot/.odoorc' pointing to /home/runbot/odoo/runbot/runbot/static/build/10282-16-0/.odoorc WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Collecting openupgradelib (from -r stock-logistics-warehouse/requirements.txt (line 2)) Downloading openupgradelib-3.12.0-py2.py3-none-any.whl.metadata (10 kB) Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from openupgradelib->-r stock-logistics-warehouse/requirements.txt (line 2)) (5.2.1) Collecting cssselect (from openupgradelib->-r stock-logistics-warehouse/requirements.txt (line 2)) Downloading cssselect-1.4.0-py3-none-any.whl.metadata (2.4 kB) Downloading openupgradelib-3.12.0-py2.py3-none-any.whl (85 kB) Downloading cssselect-1.4.0-py3-none-any.whl (18 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: cssselect, openupgradelib Successfully installed cssselect-1.4.0 openupgradelib-3.12.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: freezegun in /usr/lib/python3/dist-packages (from -r product-attribute/requirements.txt (line 2)) (1.2.1) Requirement already satisfied: openupgradelib in /home/runbot/.local/lib/python3.12/site-packages (from -r product-attribute/requirements.txt (line 3)) (3.12.0) Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from openupgradelib->-r product-attribute/requirements.txt (line 3)) (5.2.1) Requirement already satisfied: cssselect in /home/runbot/.local/lib/python3.12/site-packages (from openupgradelib->-r product-attribute/requirements.txt (line 3)) (1.4.0) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Collecting cairosvg (from -r social/requirements.txt (line 2)) Downloading cairosvg-2.9.0-py3-none-any.whl.metadata (2.7 kB) Collecting cryptography<37 (from -r social/requirements.txt (line 3)) Downloading cryptography-36.0.2-cp36-abi3-manylinux_2_24_x86_64.whl.metadata (5.4 kB) Collecting extract_msg (from -r social/requirements.txt (line 4)) Downloading extract_msg-0.55.0-py3-none-any.whl.metadata (15 kB) Collecting lottie (from -r social/requirements.txt (line 5)) Downloading lottie-0.7.2.tar.gz (172 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Requirement already satisfied: odoo_test_helper in /usr/local/lib/python3.12/dist-packages (from -r social/requirements.txt (line 6)) (2.1.3) Collecting premailer (from -r social/requirements.txt (line 7)) Downloading premailer-3.10.0-py2.py3-none-any.whl.metadata (15 kB) Collecting python-telegram-bot (from -r social/requirements.txt (line 8)) Downloading python_telegram_bot-22.7-py3-none-any.whl.metadata (17 kB) Requirement already satisfied: requests_toolbelt in /usr/lib/python3/dist-packages (from -r social/requirements.txt (line 9)) (1.0.0) Collecting cairocffi (from cairosvg->-r social/requirements.txt (line 2)) Downloading cairocffi-1.7.1-py3-none-any.whl.metadata (3.3 kB) Collecting cssselect2 (from cairosvg->-r social/requirements.txt (line 2)) Downloading cssselect2-0.9.0-py3-none-any.whl.metadata (2.9 kB) Requirement already satisfied: defusedxml in /usr/lib/python3/dist-packages (from cairosvg->-r social/requirements.txt (line 2)) (0.7.1) Requirement already satisfied: pillow in /usr/lib/python3/dist-packages (from cairosvg->-r social/requirements.txt (line 2)) (10.2.0) Collecting tinycss2 (from cairosvg->-r social/requirements.txt (line 2)) Downloading tinycss2-1.5.1-py3-none-any.whl.metadata (3.0 kB) Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.12/dist-packages (from cryptography<37->-r social/requirements.txt (line 3)) (2.0.0) Collecting olefile==0.47 (from extract_msg->-r social/requirements.txt (line 4)) Downloading olefile-0.47-py2.py3-none-any.whl.metadata (9.7 kB) Collecting tzlocal<6,>=4.2 (from extract_msg->-r social/requirements.txt (line 4)) Downloading tzlocal-5.3.1-py3-none-any.whl.metadata (7.6 kB) Collecting compressed-rtf<2,>=1.0.6 (from extract_msg->-r social/requirements.txt (line 4)) Downloading compressed_rtf-1.0.7-py3-none-any.whl.metadata (2.4 kB) Collecting ebcdic<2,>=1.1.1 (from extract_msg->-r social/requirements.txt (line 4)) Downloading ebcdic-1.1.1-py2.py3-none-any.whl.metadata (8.9 kB) Requirement already satisfied: beautifulsoup4<4.14,>=4.11.1 in /usr/lib/python3/dist-packages (from extract_msg->-r social/requirements.txt (line 4)) (4.12.3) Collecting RTFDE<0.2,>=0.1.1 (from extract_msg->-r social/requirements.txt (line 4)) Downloading rtfde-0.1.2.2-py3-none-any.whl.metadata (4.1 kB) Collecting red-black-tree-mod<=1.23,>=1.20 (from extract_msg->-r social/requirements.txt (line 4)) Downloading red-black-tree-mod-1.22.tar.gz (34 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from premailer->-r social/requirements.txt (line 7)) (5.2.1) Requirement already satisfied: cssselect in /home/runbot/.local/lib/python3.12/site-packages (from premailer->-r social/requirements.txt (line 7)) (1.4.0) Collecting cssutils (from premailer->-r social/requirements.txt (line 7)) Downloading cssutils-2.11.1-py3-none-any.whl.metadata (8.7 kB) Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from premailer->-r social/requirements.txt (line 7)) (2.31.0) Collecting cachetools (from premailer->-r social/requirements.txt (line 7)) Downloading cachetools-7.0.5-py3-none-any.whl.metadata (5.6 kB) Collecting httpx<0.29,>=0.27 (from python-telegram-bot->-r social/requirements.txt (line 8)) Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB) Requirement already satisfied: soupsieve>1.2 in /usr/lib/python3/dist-packages (from beautifulsoup4<4.14,>=4.11.1->extract_msg->-r social/requirements.txt (line 4)) (2.5) Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=1.12->cryptography<37->-r social/requirements.txt (line 3)) (3.0) Collecting anyio (from httpx<0.29,>=0.27->python-telegram-bot->-r social/requirements.txt (line 8)) Downloading anyio-4.13.0-py3-none-any.whl.metadata (4.5 kB) Requirement already satisfied: certifi in /usr/lib/python3/dist-packages (from httpx<0.29,>=0.27->python-telegram-bot->-r social/requirements.txt (line 8)) (2023.11.17) Collecting httpcore==1.* (from httpx<0.29,>=0.27->python-telegram-bot->-r social/requirements.txt (line 8)) Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB) Requirement already satisfied: idna in /usr/lib/python3/dist-packages (from httpx<0.29,>=0.27->python-telegram-bot->-r social/requirements.txt (line 8)) (3.6) Collecting h11>=0.16 (from httpcore==1.*->httpx<0.29,>=0.27->python-telegram-bot->-r social/requirements.txt (line 8)) Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB) Collecting lark~=1.3.0 (from RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading lark-1.3.1-py3-none-any.whl.metadata (1.8 kB) Collecting oletools>=0.56 (from RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading oletools-0.60.2-py2.py3-none-any.whl.metadata (16 kB) Collecting webencodings (from cssselect2->cairosvg->-r social/requirements.txt (line 2)) Downloading webencodings-0.5.1-py2.py3-none-any.whl.metadata (2.1 kB) Collecting more-itertools (from cssutils->premailer->-r social/requirements.txt (line 7)) Downloading more_itertools-11.0.1-py3-none-any.whl.metadata (41 kB) Collecting pyparsing<4,>=2.1.0 (from oletools>=0.56->RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading pyparsing-3.3.2-py3-none-any.whl.metadata (5.8 kB) Collecting easygui (from oletools>=0.56->RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading easygui-0.98.3-py2.py3-none-any.whl.metadata (8.4 kB) Collecting colorclass (from oletools>=0.56->RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading colorclass-2.2.2-py2.py3-none-any.whl.metadata (5.2 kB) Collecting pcodedmp>=1.2.5 (from oletools>=0.56->RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading pcodedmp-1.2.6-py2.py3-none-any.whl.metadata (11 kB) Collecting msoffcrypto-tool (from oletools>=0.56->RTFDE<0.2,>=0.1.1->extract_msg->-r social/requirements.txt (line 4)) Downloading msoffcrypto_tool-6.0.0-py3-none-any.whl.metadata (10 kB) Requirement already satisfied: typing_extensions>=4.5 in /usr/lib/python3/dist-packages (from anyio->httpx<0.29,>=0.27->python-telegram-bot->-r social/requirements.txt (line 8)) (4.10.0) INFO: pip is looking at multiple versions of msoffcrypto-tool to determine which version is compatible with other requirements. This could take a while. Downloading msoffcrypto_tool-5.4.2-py3-none-any.whl.metadata (10 kB) Downloading msoffcrypto_tool-5.4.1-py3-none-any.whl.metadata (10 kB) Downloading cairosvg-2.9.0-py3-none-any.whl (45 kB) Downloading cryptography-36.0.2-cp36-abi3-manylinux_2_24_x86_64.whl (3.6 MB) Downloading extract_msg-0.55.0-py3-none-any.whl (336 kB) Downloading olefile-0.47-py2.py3-none-any.whl (114 kB) Downloading premailer-3.10.0-py2.py3-none-any.whl (19 kB) Downloading python_telegram_bot-22.7-py3-none-any.whl (745 kB) Downloading compressed_rtf-1.0.7-py3-none-any.whl (8.0 kB) Downloading ebcdic-1.1.1-py2.py3-none-any.whl (128 kB) Downloading httpx-0.28.1-py3-none-any.whl (73 kB) Downloading httpcore-1.0.9-py3-none-any.whl (78 kB) Downloading rtfde-0.1.2.2-py3-none-any.whl (36 kB) Downloading tzlocal-5.3.1-py3-none-any.whl (18 kB) Downloading cachetools-7.0.5-py3-none-any.whl (13 kB) Downloading cairocffi-1.7.1-py3-none-any.whl (75 kB) Downloading cssselect2-0.9.0-py3-none-any.whl (15 kB) Downloading cssutils-2.11.1-py3-none-any.whl (385 kB) Downloading tinycss2-1.5.1-py3-none-any.whl (28 kB) Downloading lark-1.3.1-py3-none-any.whl (113 kB) Downloading oletools-0.60.2-py2.py3-none-any.whl (989 kB) Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB) Downloading anyio-4.13.0-py3-none-any.whl (114 kB) Downloading more_itertools-11.0.1-py3-none-any.whl (72 kB) Downloading h11-0.16.0-py3-none-any.whl (37 kB) Downloading pcodedmp-1.2.6-py2.py3-none-any.whl (30 kB) Downloading pyparsing-3.3.2-py3-none-any.whl (122 kB) Downloading colorclass-2.2.2-py2.py3-none-any.whl (18 kB) Downloading easygui-0.98.3-py2.py3-none-any.whl (92 kB) Downloading msoffcrypto_tool-5.4.1-py3-none-any.whl (48 kB) Building wheels for collected packages: lottie, red-black-tree-mod Building wheel for lottie (setup.py): started Building wheel for lottie (setup.py): finished with status 'done' Created wheel for lottie: filename=lottie-0.7.2-py3-none-any.whl size=195365 sha256=f5dabe27eb163828fb09c6c8a495b6aee68e2be1a02844bfe42188d2f52cd428 Stored in directory: /home/runbot/.cache/pip/wheels/c9/fc/0e/ecc37b4895c5f63209dc42797ad4c1a53c89e34351217e56df Building wheel for red-black-tree-mod (setup.py): started Building wheel for red-black-tree-mod (setup.py): finished with status 'done' Created wheel for red-black-tree-mod: filename=red_black_tree_mod-1.22-py3-none-any.whl size=19237 sha256=4b48fa4c0a1070848699b91aa846839a83c091f4182f15cbc44a5d5a57db7e77 Stored in directory: /home/runbot/.cache/pip/wheels/f6/0b/c7/2c437dd86730e451859662ab2edf7b0ab1541dcf14f7fb3fd1 Successfully built lottie red-black-tree-mod WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: webencodings, red-black-tree-mod, ebcdic, easygui, compressed-rtf, tzlocal, tinycss2, pyparsing, olefile, more-itertools, lottie, lark, h11, colorclass, cachetools, anyio, httpcore, cssutils, cssselect2, cryptography, cairocffi, premailer, msoffcrypto-tool, httpx, cairosvg, python-telegram-bot, pcodedmp, oletools, RTFDE, extract_msg ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. pyopenssl 24.1.0 requires cryptography<43,>=41.0.5, but you have cryptography 36.0.2 which is incompatible. Successfully installed RTFDE-0.1.2.2 anyio-4.13.0 cachetools-7.0.5 cairocffi-1.7.1 cairosvg-2.9.0 colorclass-2.2.2 compressed-rtf-1.0.7 cryptography-36.0.2 cssselect2-0.9.0 cssutils-2.11.1 easygui-0.98.3 ebcdic-1.1.1 extract_msg-0.55.0 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 lark-1.3.1 lottie-0.7.2 more-itertools-11.0.1 msoffcrypto-tool-5.4.1 olefile-0.47 oletools-0.60.2 pcodedmp-1.2.6 premailer-3.10.0 pyparsing-3.3.2 python-telegram-bot-22.7 red-black-tree-mod-1.22 tinycss2-1.5.1 tzlocal-5.3.1 webencodings-0.5.1 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Collecting email-validator (from -r partner-contact/requirements.txt (line 2)) Downloading email_validator-2.3.0-py3-none-any.whl.metadata (26 kB) Requirement already satisfied: phonenumbers in /usr/lib/python3/dist-packages (from -r partner-contact/requirements.txt (line 3)) (8.12.57) Collecting dnspython>=2.0.0 (from email-validator->-r partner-contact/requirements.txt (line 2)) Downloading dnspython-2.8.0-py3-none-any.whl.metadata (5.7 kB) Requirement already satisfied: idna>=2.0.0 in /usr/lib/python3/dist-packages (from email-validator->-r partner-contact/requirements.txt (line 2)) (3.6) Downloading email_validator-2.3.0-py3-none-any.whl (35 kB) Downloading dnspython-2.8.0-py3-none-any.whl (331 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: dnspython, email-validator Successfully installed dnspython-2.8.0 email-validator-2.3.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Ignoring pymssql: markers 'python_version <= "3.10"' don't match your environment Collecting mysqlclient (from -r server-backend/requirements.txt (line 2)) Downloading mysqlclient-2.2.8.tar.gz (92 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting pymssql<=2.3.7 (from -r server-backend/requirements.txt (line 4)) Downloading pymssql-2.3.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (4.1 kB) Collecting sqlalchemy (from -r server-backend/requirements.txt (line 5)) Downloading sqlalchemy-2.0.49-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (9.5 kB) Requirement already satisfied: greenlet>=1 in /usr/lib/python3/dist-packages (from sqlalchemy->-r server-backend/requirements.txt (line 5)) (3.0.3) Requirement already satisfied: typing-extensions>=4.6.0 in /usr/lib/python3/dist-packages (from sqlalchemy->-r server-backend/requirements.txt (line 5)) (4.10.0) Downloading pymssql-2.3.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.8 MB) Downloading sqlalchemy-2.0.49-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.4 MB) Building wheels for collected packages: mysqlclient Building wheel for mysqlclient (pyproject.toml): started Building wheel for mysqlclient (pyproject.toml): finished with status 'done' Created wheel for mysqlclient: filename=mysqlclient-2.2.8-cp312-cp312-linux_x86_64.whl size=129529 sha256=87947b3215aa3a2ba92e9f9a2cf90cd25676ef23c75436f7e8bf78392cdbd4c6 Stored in directory: /home/runbot/.cache/pip/wheels/b0/62/00/46e65ad9151c1266f0f03ea020a5a8ea1cbc6e4ebf3329e276 Successfully built mysqlclient WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: sqlalchemy, pymssql, mysqlclient Successfully installed mysqlclient-2.2.8 pymssql-2.3.7 sqlalchemy-2.0.49 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: xlrd in /usr/lib/python3/dist-packages (from -r account-reconcile/requirements.txt (line 2)) (2.0.1) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: cryptography in /home/runbot/.local/lib/python3.12/site-packages (from -r reporting-engine/requirements.txt (line 2)) (36.0.2) Collecting endesive (from -r reporting-engine/requirements.txt (line 3)) Downloading endesive-2.19.3-py3-none-any.whl.metadata (5.5 kB) Requirement already satisfied: mock in /usr/lib/python3/dist-packages (from -r reporting-engine/requirements.txt (line 4)) (5.1.0) Requirement already satisfied: openpyxl in /usr/lib/python3/dist-packages (from -r reporting-engine/requirements.txt (line 5)) (3.1.2) Collecting py3o.formats (from -r reporting-engine/requirements.txt (line 6)) Downloading py3o.formats-0.3.zip (7.3 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting py3o.template (from -r reporting-engine/requirements.txt (line 7)) Downloading py3o.template-0.10.0-py3-none-any.whl.metadata (12 kB) Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.12/dist-packages (from cryptography->-r reporting-engine/requirements.txt (line 2)) (2.0.0) Requirement already satisfied: asn1crypto in /usr/lib/python3/dist-packages (from endesive->-r reporting-engine/requirements.txt (line 3)) (1.5.1) Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from endesive->-r reporting-engine/requirements.txt (line 3)) (5.2.1) Collecting pykcs11 (from endesive->-r reporting-engine/requirements.txt (line 3)) Downloading pykcs11-1.5.18.tar.gz (105 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from endesive->-r reporting-engine/requirements.txt (line 3)) (10.2.0) Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from endesive->-r reporting-engine/requirements.txt (line 3)) (2.31.0) Collecting paramiko (from endesive->-r reporting-engine/requirements.txt (line 3)) Downloading paramiko-4.0.0-py3-none-any.whl.metadata (3.9 kB) Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from py3o.formats->-r reporting-engine/requirements.txt (line 6)) (68.1.2) Requirement already satisfied: babel in /usr/lib/python3/dist-packages (from py3o.template->-r reporting-engine/requirements.txt (line 7)) (2.10.3) Collecting genshi>=0.7 (from py3o.template->-r reporting-engine/requirements.txt (line 7)) Downloading genshi-0.7.10-py3-none-any.whl.metadata (1.4 kB) Collecting pyjon.utils>0.6 (from py3o.template->-r reporting-engine/requirements.txt (line 7)) Downloading pyjon.utils-0.7-py3-none-any.whl.metadata (671 bytes) Requirement already satisfied: six>=1.9 in /usr/lib/python3/dist-packages (from py3o.template->-r reporting-engine/requirements.txt (line 7)) (1.16.0) Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=1.12->cryptography->-r reporting-engine/requirements.txt (line 2)) (3.0) Collecting bcrypt>=3.2 (from paramiko->endesive->-r reporting-engine/requirements.txt (line 3)) Downloading bcrypt-5.0.0-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (10 kB) Collecting invoke>=2.0 (from paramiko->endesive->-r reporting-engine/requirements.txt (line 3)) Downloading invoke-3.0.3-py3-none-any.whl.metadata (3.2 kB) Collecting pynacl>=1.5 (from paramiko->endesive->-r reporting-engine/requirements.txt (line 3)) Downloading pynacl-1.6.2-cp38-abi3-manylinux_2_34_x86_64.whl.metadata (10.0 kB) Downloading endesive-2.19.3-py3-none-any.whl (349 kB) Downloading py3o.template-0.10.0-py3-none-any.whl (614 kB) Downloading genshi-0.7.10-py3-none-any.whl (179 kB) Downloading pyjon.utils-0.7-py3-none-any.whl (6.5 kB) Downloading paramiko-4.0.0-py3-none-any.whl (223 kB) Downloading bcrypt-5.0.0-cp39-abi3-manylinux_2_34_x86_64.whl (278 kB) Downloading invoke-3.0.3-py3-none-any.whl (160 kB) Downloading pynacl-1.6.2-cp38-abi3-manylinux_2_34_x86_64.whl (1.4 MB) Building wheels for collected packages: py3o.formats, pykcs11 Building wheel for py3o.formats (setup.py): started Building wheel for py3o.formats (setup.py): finished with status 'done' Created wheel for py3o.formats: filename=py3o.formats-0.3-py3-none-any.whl size=4290 sha256=7ff9ae62edbfdf08e267d9c4b818b88874cbe8feeda6437c691bdc3a8063e77f Stored in directory: /home/runbot/.cache/pip/wheels/db/86/fc/1342fa3882442513e6cb3171c4f57e04eb94cf7a578e5a9d41 Building wheel for pykcs11 (pyproject.toml): started Building wheel for pykcs11 (pyproject.toml): finished with status 'done' Created wheel for pykcs11: filename=pykcs11-1.5.18-cp312-cp312-linux_x86_64.whl size=1252851 sha256=ce7399de1faa35d726281978396fd8b93aa158ab9fa8db5bb5a83386a35b56a3 Stored in directory: /home/runbot/.cache/pip/wheels/93/5e/95/1910093196363e40d2cabff58d4385988b24eb9f55049ba194 Successfully built py3o.formats pykcs11 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: pykcs11, genshi, pyjon.utils, py3o.formats, invoke, bcrypt, pynacl, py3o.template, paramiko, endesive Successfully installed bcrypt-5.0.0 endesive-2.19.3 genshi-0.7.10 invoke-3.0.3 paramiko-4.0.0 py3o.formats-0.3 py3o.template-0.10.0 pyjon.utils-0.7 pykcs11-1.5.18 pynacl-1.6.2 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Ignoring cryptography: markers 'python_version < "3.12"' don't match your environment Ignoring freezegun: markers 'python_version < "3.8"' don't match your environment Ignoring gevent: markers 'sys_platform != "win32" and python_version == "3.7"' don't match your environment Ignoring gevent: markers 'sys_platform != "win32" and python_version > "3.7" and python_version <= "3.9"' don't match your environment Ignoring gevent: markers 'sys_platform != "win32" and python_version > "3.9" and python_version <= "3.10"' don't match your environment Ignoring gevent: markers 'sys_platform != "win32" and python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring greenlet: markers 'sys_platform != "win32" and python_version == "3.7"' don't match your environment Ignoring greenlet: markers 'sys_platform != "win32" and python_version > "3.7" and python_version <= "3.9"' don't match your environment Ignoring greenlet: markers 'sys_platform != "win32" and python_version > "3.9" and python_version <= "3.10"' don't match your environment Ignoring greenlet: markers 'sys_platform != "win32" and python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring Jinja2: markers 'python_version <= "3.10"' don't match your environment Ignoring libsass: markers 'python_version < "3.12"' don't match your environment Ignoring lxml: markers 'python_version <= "3.10"' don't match your environment Ignoring lxml: markers 'python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring MarkupSafe: markers 'python_version <= "3.10"' don't match your environment Ignoring MarkupSafe: markers 'python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring ofxparse: markers 'python_version <= "3.9"' don't match your environment Ignoring Pillow: markers 'python_version <= "3.10"' don't match your environment Ignoring Pillow: markers 'python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring psutil: markers 'python_version <= "3.10"' don't match your environment Ignoring psutil: markers 'python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring psycopg2: markers 'sys_platform != "win32" and python_version < "3.8"' don't match your environment Ignoring psycopg2: markers 'sys_platform != "win32" and python_version >= "3.8" and python_version < "3.10"' don't match your environment Ignoring psycopg2: markers 'sys_platform == "win32" and python_version < "3.10"' don't match your environment Ignoring psycopg2: markers 'python_version == "3.10"' don't match your environment Ignoring psycopg2: markers 'python_version >= "3.11" and python_version < "3.12"' don't match your environment Ignoring pyopenssl: markers 'python_version < "3.12"' don't match your environment Ignoring PyPDF2: markers 'python_version <= "3.10"' don't match your environment Ignoring pypiwin32: markers 'sys_platform == "win32"' don't match your environment Ignoring python-ldap: markers 'sys_platform != "win32" and python_version < "3.12"' don't match your environment Ignoring pyusb: markers 'python_version <= "3.10"' don't match your environment Ignoring reportlab: markers 'python_version <= "3.10"' don't match your environment Ignoring reportlab: markers 'python_version > "3.10" and python_version < "3.12"' don't match your environment Ignoring requests: markers 'python_version < "3.12"' don't match your environment Ignoring rl-renderPM: markers 'sys_platform == "win32" and python_version >= "3.12"' don't match your environment Ignoring urllib3: markers 'python_version < "3.12"' don't match your environment Ignoring Werkzeug: markers 'python_version <= "3.9"' don't match your environment Ignoring xlrd: markers 'python_version < "3.8"' don't match your environment Collecting Babel==2.9.1 (from -r odoo/requirements.txt (line 3)) Downloading Babel-2.9.1-py2.py3-none-any.whl.metadata (1.2 kB) Collecting chardet==4.0.0 (from -r odoo/requirements.txt (line 4)) Downloading chardet-4.0.0-py2.py3-none-any.whl.metadata (3.5 kB) Collecting cryptography==42.0.8 (from -r odoo/requirements.txt (line 6)) Downloading cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (5.3 kB) Collecting decorator==4.4.2 (from -r odoo/requirements.txt (line 7)) Downloading decorator-4.4.2-py2.py3-none-any.whl.metadata (4.2 kB) Collecting docutils==0.16 (from -r odoo/requirements.txt (line 8)) Downloading docutils-0.16-py2.py3-none-any.whl.metadata (2.7 kB) Requirement already satisfied: ebaysdk==2.1.5 in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 9)) (2.1.5) Collecting freezegun==0.3.15 (from -r odoo/requirements.txt (line 11)) Downloading freezegun-0.3.15-py2.py3-none-any.whl.metadata (8.5 kB) Requirement already satisfied: gevent==24.2.1 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 16)) (24.2.1) Requirement already satisfied: greenlet==3.0.3 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 21)) (3.0.3) Collecting idna==2.10 (from -r odoo/requirements.txt (line 22)) Downloading idna-2.10-py2.py3-none-any.whl.metadata (9.1 kB) Requirement already satisfied: Jinja2==3.1.2 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 24)) (3.1.2) Requirement already satisfied: libsass==0.22.0 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 26)) (0.22.0) Requirement already satisfied: lxml==5.2.1 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 29)) (5.2.1) Requirement already satisfied: lxml-html-clean in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 30)) (0.1.1) Requirement already satisfied: MarkupSafe==2.1.5 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 33)) (2.1.5) Collecting num2words==0.5.9 (from -r odoo/requirements.txt (line 34)) Downloading num2words-0.5.9-py3-none-any.whl.metadata (8.3 kB) Requirement already satisfied: ofxparse==0.21 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 36)) (0.21) Requirement already satisfied: passlib==1.7.4 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 37)) (1.7.4) Requirement already satisfied: Pillow==10.2.0 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 40)) (10.2.0) Collecting polib==1.1.0 (from -r odoo/requirements.txt (line 41)) Downloading polib-1.1.0-py2.py3-none-any.whl.metadata (13 kB) Requirement already satisfied: psutil==5.9.8 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 44)) (5.9.8) Requirement already satisfied: psycopg2==2.9.9 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 50)) (2.9.9) Collecting pydot==1.4.2 (from -r odoo/requirements.txt (line 51)) Downloading pydot-1.4.2-py2.py3-none-any.whl.metadata (8.0 kB) Requirement already satisfied: pyopenssl==24.1.0 in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 53)) (24.1.0) Requirement already satisfied: PyPDF2==2.12.1 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 55)) (2.12.1) Requirement already satisfied: pyserial==3.5 in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 57)) (3.5) Collecting python-dateutil==2.8.1 (from -r odoo/requirements.txt (line 58)) Downloading python_dateutil-2.8.1-py2.py3-none-any.whl.metadata (8.0 kB) Requirement already satisfied: python-ldap==3.4.4 in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 60)) (3.4.4) Collecting python-stdnum==1.16 (from -r odoo/requirements.txt (line 61)) Downloading python_stdnum-1.16-py2.py3-none-any.whl.metadata (16 kB) Requirement already satisfied: pytz in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 62)) (2025.2) Requirement already satisfied: pyusb==1.2.1 in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 64)) (1.2.1) Collecting qrcode==6.1 (from -r odoo/requirements.txt (line 65)) Downloading qrcode-6.1-py2.py3-none-any.whl.metadata (11 kB) Requirement already satisfied: reportlab==4.1.0 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 68)) (4.1.0) Requirement already satisfied: requests==2.31.0 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 70)) (2.31.0) Requirement already satisfied: urllib3==2.0.7 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 73)) (2.0.7) Requirement already satisfied: vobject==0.9.6.1 in /usr/lib/python3/dist-packages (from -r odoo/requirements.txt (line 74)) (0.9.6.1) Collecting Werkzeug==2.0.2 (from -r odoo/requirements.txt (line 76)) Downloading Werkzeug-2.0.2-py3-none-any.whl.metadata (4.5 kB) Collecting xlrd==1.2.0 (from -r odoo/requirements.txt (line 78)) Downloading xlrd-1.2.0-py2.py3-none-any.whl.metadata (1.3 kB) Collecting XlsxWriter==1.1.2 (from -r odoo/requirements.txt (line 79)) Downloading XlsxWriter-1.1.2-py2.py3-none-any.whl.metadata (2.6 kB) Requirement already satisfied: xlwt==1.3.0 in /usr/local/lib/python3.12/dist-packages (from -r odoo/requirements.txt (line 80)) (1.3.0) Collecting zeep==4.0.0 (from -r odoo/requirements.txt (line 81)) Downloading zeep-4.0.0-py2.py3-none-any.whl.metadata (3.3 kB) Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.12/dist-packages (from cryptography==42.0.8->-r odoo/requirements.txt (line 6)) (2.0.0) Requirement already satisfied: six in /usr/lib/python3/dist-packages (from freezegun==0.3.15->-r odoo/requirements.txt (line 11)) (1.16.0) Requirement already satisfied: docopt>=0.6.2 in /usr/lib/python3/dist-packages (from num2words==0.5.9->-r odoo/requirements.txt (line 34)) (0.6.2) Requirement already satisfied: pyparsing>=2.1.4 in /home/runbot/.local/lib/python3.12/site-packages (from pydot==1.4.2->-r odoo/requirements.txt (line 51)) (3.3.2) Requirement already satisfied: pyasn1>=0.3.7 in /usr/local/lib/python3.12/dist-packages (from python-ldap==3.4.4->-r odoo/requirements.txt (line 60)) (0.6.2) Requirement already satisfied: pyasn1_modules>=0.1.5 in /usr/local/lib/python3.12/dist-packages (from python-ldap==3.4.4->-r odoo/requirements.txt (line 60)) (0.4.2) Collecting appdirs>=1.4.0 (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) Downloading appdirs-1.4.4-py2.py3-none-any.whl.metadata (9.0 kB) Requirement already satisfied: attrs>=17.2.0 in /usr/lib/python3/dist-packages (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) (23.2.0) Requirement already satisfied: cached-property>=1.3.0 in /usr/lib/python3/dist-packages (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) (1.5.2) Requirement already satisfied: defusedxml>=0.4.1 in /usr/lib/python3/dist-packages (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) (0.7.1) Requirement already satisfied: isodate>=0.5.4 in /usr/lib/python3/dist-packages (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) (0.6.1) Requirement already satisfied: requests-toolbelt>=0.7.1 in /usr/lib/python3/dist-packages (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) (1.0.0) Requirement already satisfied: requests-file>=1.5.1 in /usr/lib/python3/dist-packages (from zeep==4.0.0->-r odoo/requirements.txt (line 81)) (1.5.1) Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=1.12->cryptography==42.0.8->-r odoo/requirements.txt (line 6)) (3.0) Downloading Babel-2.9.1-py2.py3-none-any.whl (8.8 MB) Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB) Downloading cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl (3.9 MB) Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB) Downloading docutils-0.16-py2.py3-none-any.whl (548 kB) Downloading freezegun-0.3.15-py2.py3-none-any.whl (14 kB) Downloading idna-2.10-py2.py3-none-any.whl (58 kB) Downloading num2words-0.5.9-py3-none-any.whl (99 kB) Downloading polib-1.1.0-py2.py3-none-any.whl (25 kB) Downloading pydot-1.4.2-py2.py3-none-any.whl (21 kB) Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB) Downloading python_stdnum-1.16-py2.py3-none-any.whl (910 kB) Downloading qrcode-6.1-py2.py3-none-any.whl (31 kB) Downloading Werkzeug-2.0.2-py3-none-any.whl (288 kB) Downloading xlrd-1.2.0-py2.py3-none-any.whl (103 kB) Downloading XlsxWriter-1.1.2-py2.py3-none-any.whl (142 kB) Downloading zeep-4.0.0-py2.py3-none-any.whl (100 kB) Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: XlsxWriter, python-stdnum, polib, appdirs, zeep, xlrd, Werkzeug, qrcode, python-dateutil, pydot, num2words, idna, docutils, decorator, chardet, Babel, freezegun, cryptography Attempting uninstall: cryptography Found existing installation: cryptography 36.0.2 Uninstalling cryptography-36.0.2: Successfully uninstalled cryptography-36.0.2 Successfully installed Babel-2.9.1 Werkzeug-2.0.2 XlsxWriter-1.1.2 appdirs-1.4.4 chardet-4.0.0 cryptography-42.0.8 decorator-4.4.2 docutils-0.16 freezegun-0.3.15 idna-2.10 num2words-0.5.9 polib-1.1.0 pydot-1.4.2 python-dateutil-2.8.1 python-stdnum-1.16 qrcode-6.1 xlrd-1.2.0 zeep-4.0.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Collecting acme (from -r server-tools/requirements.txt (line 2)) Downloading acme-5.5.0-py3-none-any.whl.metadata (1.3 kB) Collecting astor (from -r server-tools/requirements.txt (line 3)) Downloading astor-0.8.1-py2.py3-none-any.whl.metadata (4.2 kB) Requirement already satisfied: cryptography in /home/runbot/.local/lib/python3.12/site-packages (from -r server-tools/requirements.txt (line 4)) (42.0.8) Collecting dataclasses (from -r server-tools/requirements.txt (line 5)) Downloading dataclasses-0.6-py3-none-any.whl.metadata (3.0 kB) Requirement already satisfied: dnspython in /home/runbot/.local/lib/python3.12/site-packages (from -r server-tools/requirements.txt (line 6)) (2.8.0) Collecting josepy (from -r server-tools/requirements.txt (line 7)) Downloading josepy-2.2.0-py3-none-any.whl.metadata (1.7 kB) Collecting mako (from -r server-tools/requirements.txt (line 8)) Downloading mako-1.3.10-py3-none-any.whl.metadata (2.9 kB) Requirement already satisfied: odoo_test_helper in /usr/local/lib/python3.12/dist-packages (from -r server-tools/requirements.txt (line 9)) (2.1.3) Collecting odoorpc (from -r server-tools/requirements.txt (line 10)) Downloading OdooRPC-0.10.1-py2.py3-none-any.whl.metadata (4.8 kB) Requirement already satisfied: openpyxl in /usr/lib/python3/dist-packages (from -r server-tools/requirements.txt (line 11)) (3.1.2) Requirement already satisfied: openupgradelib in /home/runbot/.local/lib/python3.12/site-packages (from -r server-tools/requirements.txt (line 12)) (3.12.0) Collecting pygount==1.4.0 (from -r server-tools/requirements.txt (line 13)) Downloading pygount-1.4.0-py3-none-any.whl.metadata (5.2 kB) Collecting pysftp (from -r server-tools/requirements.txt (line 14)) Downloading pysftp-0.2.9.tar.gz (25 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting sentry_sdk<=1.9.0 (from -r server-tools/requirements.txt (line 15)) Downloading sentry_sdk-1.9.0-py2.py3-none-any.whl.metadata (7.8 kB) Collecting unidecode (from -r server-tools/requirements.txt (line 16)) Downloading Unidecode-1.4.0-py3-none-any.whl.metadata (13 kB) Collecting unittest-xml-reporting (from -r server-tools/requirements.txt (line 17)) Downloading unittest_xml_reporting-4.0.0-py2.py3-none-any.whl.metadata (11 kB) Requirement already satisfied: chardet<5,>=4 in /home/runbot/.local/lib/python3.12/site-packages (from pygount==1.4.0->-r server-tools/requirements.txt (line 13)) (4.0.0) Requirement already satisfied: pygments<3,>=2 in /usr/lib/python3/dist-packages (from pygount==1.4.0->-r server-tools/requirements.txt (line 13)) (2.17.2) Collecting rich<13,>=9 (from pygount==1.4.0->-r server-tools/requirements.txt (line 13)) Downloading rich-12.6.0-py3-none-any.whl.metadata (18 kB) Collecting cryptography (from -r server-tools/requirements.txt (line 4)) Downloading cryptography-46.0.7-cp311-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB) Collecting PyOpenSSL>=25.0.0 (from acme->-r server-tools/requirements.txt (line 2)) Downloading pyopenssl-26.0.0-py3-none-any.whl.metadata (18 kB) Collecting pyrfc3339 (from acme->-r server-tools/requirements.txt (line 2)) Downloading pyrfc3339-2.1.0-py3-none-any.whl.metadata (2.8 kB) Requirement already satisfied: requests>=2.25.1 in /usr/lib/python3/dist-packages (from acme->-r server-tools/requirements.txt (line 2)) (2.31.0) Requirement already satisfied: cffi>=2.0.0 in /usr/local/lib/python3.12/dist-packages (from cryptography->-r server-tools/requirements.txt (line 4)) (2.0.0) Requirement already satisfied: MarkupSafe>=0.9.2 in /usr/lib/python3/dist-packages (from mako->-r server-tools/requirements.txt (line 8)) (2.1.5) Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from openupgradelib->-r server-tools/requirements.txt (line 12)) (5.2.1) Requirement already satisfied: cssselect in /home/runbot/.local/lib/python3.12/site-packages (from openupgradelib->-r server-tools/requirements.txt (line 12)) (1.4.0) Requirement already satisfied: paramiko>=1.17 in /home/runbot/.local/lib/python3.12/site-packages (from pysftp->-r server-tools/requirements.txt (line 14)) (4.0.0) Requirement already satisfied: urllib3>=1.10.0 in /usr/lib/python3/dist-packages (from sentry_sdk<=1.9.0->-r server-tools/requirements.txt (line 15)) (2.0.7) Requirement already satisfied: certifi in /usr/lib/python3/dist-packages (from sentry_sdk<=1.9.0->-r server-tools/requirements.txt (line 15)) (2023.11.17) Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=2.0.0->cryptography->-r server-tools/requirements.txt (line 4)) (3.0) Requirement already satisfied: bcrypt>=3.2 in /home/runbot/.local/lib/python3.12/site-packages (from paramiko>=1.17->pysftp->-r server-tools/requirements.txt (line 14)) (5.0.0) Requirement already satisfied: invoke>=2.0 in /home/runbot/.local/lib/python3.12/site-packages (from paramiko>=1.17->pysftp->-r server-tools/requirements.txt (line 14)) (3.0.3) Requirement already satisfied: pynacl>=1.5 in /home/runbot/.local/lib/python3.12/site-packages (from paramiko>=1.17->pysftp->-r server-tools/requirements.txt (line 14)) (1.6.2) Requirement already satisfied: typing-extensions>=4.9 in /usr/lib/python3/dist-packages (from PyOpenSSL>=25.0.0->acme->-r server-tools/requirements.txt (line 2)) (4.10.0) Collecting commonmark<0.10.0,>=0.9.0 (from rich<13,>=9->pygount==1.4.0->-r server-tools/requirements.txt (line 13)) Downloading commonmark-0.9.1-py2.py3-none-any.whl.metadata (5.7 kB) Downloading pygount-1.4.0-py3-none-any.whl (26 kB) Downloading acme-5.5.0-py3-none-any.whl (94 kB) Downloading astor-0.8.1-py2.py3-none-any.whl (27 kB) Downloading cryptography-46.0.7-cp311-abi3-manylinux_2_34_x86_64.whl (4.5 MB) Downloading dataclasses-0.6-py3-none-any.whl (14 kB) Downloading josepy-2.2.0-py3-none-any.whl (29 kB) Downloading mako-1.3.10-py3-none-any.whl (78 kB) Downloading OdooRPC-0.10.1-py2.py3-none-any.whl (38 kB) Downloading sentry_sdk-1.9.0-py2.py3-none-any.whl (156 kB) Downloading Unidecode-1.4.0-py3-none-any.whl (235 kB) Downloading unittest_xml_reporting-4.0.0-py2.py3-none-any.whl (20 kB) Downloading pyopenssl-26.0.0-py3-none-any.whl (57 kB) Downloading rich-12.6.0-py3-none-any.whl (237 kB) Downloading pyrfc3339-2.1.0-py3-none-any.whl (6.8 kB) Downloading commonmark-0.9.1-py2.py3-none-any.whl (51 kB) Building wheels for collected packages: pysftp Building wheel for pysftp (setup.py): started Building wheel for pysftp (setup.py): finished with status 'done' Created wheel for pysftp: filename=pysftp-0.2.9-py3-none-any.whl size=15496 sha256=58c9b7dbbc5024a64747e703b515be1d0aacd1f8bf23ed3813a6dc3335ee5f58 Stored in directory: /home/runbot/.cache/pip/wheels/0f/3c/e0/360d2b9ba2f5aac8b8159c156eb862001f0806e15f18cb7aac Successfully built pysftp WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: odoorpc, dataclasses, commonmark, unittest-xml-reporting, unidecode, sentry_sdk, rich, pyrfc3339, mako, astor, pygount, cryptography, PyOpenSSL, josepy, pysftp, acme Attempting uninstall: cryptography Found existing installation: cryptography 42.0.8 Uninstalling cryptography-42.0.8: Successfully uninstalled cryptography-42.0.8 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. ocrmypdf 15.2.0+dfsg1 requires deprecation>=2.1.0, but you have deprecation 2.0.7 which is incompatible. ocrmypdf 15.2.0+dfsg1 requires rich>=13, but you have rich 12.6.0 which is incompatible. Successfully installed PyOpenSSL-26.0.0 acme-5.5.0 astor-0.8.1 commonmark-0.9.1 cryptography-46.0.7 dataclasses-0.6 josepy-2.2.0 mako-1.3.10 odoorpc-0.10.1 pygount-1.4.0 pyrfc3339-2.1.0 pysftp-0.2.9 rich-12.6.0 sentry_sdk-1.9.0 unidecode-1.4.0 unittest-xml-reporting-4.0.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Collecting pdf2image (from -r server-ux/requirements.txt (line 2)) Downloading pdf2image-1.17.0-py3-none-any.whl.metadata (6.2 kB) Collecting pyrfc6266 (from -r server-ux/requirements.txt (line 3)) Downloading pyrfc6266-1.0.2-py3-none-any.whl.metadata (1.5 kB) Collecting pyzbar (from -r server-ux/requirements.txt (line 4)) Downloading pyzbar-0.1.9-py2.py3-none-any.whl.metadata (10 kB) Collecting responses (from -r server-ux/requirements.txt (line 5)) Downloading responses-0.26.0-py3-none-any.whl.metadata (48 kB) Requirement already satisfied: pillow in /usr/lib/python3/dist-packages (from pdf2image->-r server-ux/requirements.txt (line 2)) (10.2.0) Collecting pyparsing~=3.0.7 (from pyrfc6266->-r server-ux/requirements.txt (line 3)) Downloading pyparsing-3.0.9-py3-none-any.whl.metadata (4.2 kB) Requirement already satisfied: requests<3.0,>=2.30.0 in /usr/lib/python3/dist-packages (from responses->-r server-ux/requirements.txt (line 5)) (2.31.0) Requirement already satisfied: urllib3<3.0,>=1.25.10 in /usr/lib/python3/dist-packages (from responses->-r server-ux/requirements.txt (line 5)) (2.0.7) Collecting pyyaml (from responses->-r server-ux/requirements.txt (line 5)) Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB) Downloading pdf2image-1.17.0-py3-none-any.whl (11 kB) Downloading pyrfc6266-1.0.2-py3-none-any.whl (4.7 kB) Downloading pyzbar-0.1.9-py2.py3-none-any.whl (32 kB) Downloading responses-0.26.0-py3-none-any.whl (35 kB) Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB) Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: pyzbar, pyyaml, pyparsing, pdf2image, responses, pyrfc6266 Attempting uninstall: pyparsing Found existing installation: pyparsing 3.3.2 Uninstalling pyparsing-3.3.2: Successfully uninstalled pyparsing-3.3.2 Successfully installed pdf2image-1.17.0 pyparsing-3.0.9 pyrfc6266-1.0.2 pyyaml-6.0.3 pyzbar-0.1.9 responses-0.26.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: python-dateutil in /home/runbot/.local/lib/python3.12/site-packages (from -r hr/requirements.txt (line 2)) (2.8.1) Requirement already satisfied: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil->-r hr/requirements.txt (line 2)) (1.16.0) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: freezegun in /home/runbot/.local/lib/python3.12/site-packages (from -r account-financial-tools/requirements.txt (line 2)) (0.3.15) Collecting numpy-financial<=1.0.0 (from -r account-financial-tools/requirements.txt (line 3)) Downloading numpy_financial-1.0.0-py3-none-any.whl.metadata (2.2 kB) Collecting numpy>=1.15 (from -r account-financial-tools/requirements.txt (line 4)) Downloading numpy-2.4.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (6.6 kB) Requirement already satisfied: python-dateutil in /home/runbot/.local/lib/python3.12/site-packages (from -r account-financial-tools/requirements.txt (line 5)) (2.8.1) Requirement already satisfied: six in /usr/lib/python3/dist-packages (from freezegun->-r account-financial-tools/requirements.txt (line 2)) (1.16.0) Downloading numpy_financial-1.0.0-py3-none-any.whl (14 kB) Downloading numpy-2.4.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.6 MB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: numpy, numpy-financial Successfully installed numpy-2.4.4 numpy-financial-1.0.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: beautifulsoup4 in /usr/lib/python3/dist-packages (from -r web/requirements.txt (line 2)) (4.12.3) Collecting bokeh==3.1.1 (from -r web/requirements.txt (line 3)) Downloading bokeh-3.1.1-py3-none-any.whl.metadata (12 kB) Collecting mpld3==0.5.9 (from -r web/requirements.txt (line 4)) Downloading mpld3-0.5.9-py3-none-any.whl.metadata (5.1 kB) Collecting plotly==5.13.1 (from -r web/requirements.txt (line 5)) Downloading plotly-5.13.1-py2.py3-none-any.whl.metadata (7.0 kB) Requirement already satisfied: Jinja2>=2.9 in /usr/lib/python3/dist-packages (from bokeh==3.1.1->-r web/requirements.txt (line 3)) (3.1.2) Collecting contourpy>=1 (from bokeh==3.1.1->-r web/requirements.txt (line 3)) Downloading contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (5.5 kB) Requirement already satisfied: numpy>=1.16 in /home/runbot/.local/lib/python3.12/site-packages (from bokeh==3.1.1->-r web/requirements.txt (line 3)) (2.4.4) Requirement already satisfied: packaging>=16.8 in /usr/lib/python3/dist-packages (from bokeh==3.1.1->-r web/requirements.txt (line 3)) (24.0) Collecting pandas>=1.2 (from bokeh==3.1.1->-r web/requirements.txt (line 3)) Downloading pandas-3.0.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (79 kB) Requirement already satisfied: pillow>=7.1.0 in /usr/lib/python3/dist-packages (from bokeh==3.1.1->-r web/requirements.txt (line 3)) (10.2.0) Requirement already satisfied: PyYAML>=3.10 in /home/runbot/.local/lib/python3.12/site-packages (from bokeh==3.1.1->-r web/requirements.txt (line 3)) (6.0.3) Collecting tornado>=5.1 (from bokeh==3.1.1->-r web/requirements.txt (line 3)) Downloading tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (2.8 kB) Collecting xyzservices>=2021.09.1 (from bokeh==3.1.1->-r web/requirements.txt (line 3)) Downloading xyzservices-2026.3.0-py3-none-any.whl.metadata (4.1 kB) Collecting matplotlib (from mpld3==0.5.9->-r web/requirements.txt (line 4)) Downloading matplotlib-3.10.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (52 kB) Collecting tenacity>=6.2.0 (from plotly==5.13.1->-r web/requirements.txt (line 5)) Downloading tenacity-9.1.4-py3-none-any.whl.metadata (1.2 kB) Requirement already satisfied: soupsieve>1.2 in /usr/lib/python3/dist-packages (from beautifulsoup4->-r web/requirements.txt (line 2)) (2.5) Collecting python-dateutil>=2.8.2 (from pandas>=1.2->bokeh==3.1.1->-r web/requirements.txt (line 3)) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB) Collecting cycler>=0.10 (from matplotlib->mpld3==0.5.9->-r web/requirements.txt (line 4)) Downloading cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB) Collecting fonttools>=4.22.0 (from matplotlib->mpld3==0.5.9->-r web/requirements.txt (line 4)) Downloading fonttools-4.62.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (117 kB) Collecting kiwisolver>=1.3.1 (from matplotlib->mpld3==0.5.9->-r web/requirements.txt (line 4)) Downloading kiwisolver-1.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (5.1 kB) Requirement already satisfied: pyparsing>=3 in /home/runbot/.local/lib/python3.12/site-packages (from matplotlib->mpld3==0.5.9->-r web/requirements.txt (line 4)) (3.0.9) Requirement already satisfied: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil>=2.8.2->pandas>=1.2->bokeh==3.1.1->-r web/requirements.txt (line 3)) (1.16.0) Downloading bokeh-3.1.1-py3-none-any.whl (8.3 MB) Downloading mpld3-0.5.9-py3-none-any.whl (201 kB) Downloading plotly-5.13.1-py2.py3-none-any.whl (15.2 MB) Downloading contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (362 kB) Downloading pandas-3.0.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (10.9 MB) Downloading tenacity-9.1.4-py3-none-any.whl (28 kB) Downloading tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (447 kB) Downloading xyzservices-2026.3.0-py3-none-any.whl (94 kB) Downloading matplotlib-3.10.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (8.7 MB) Downloading cycler-0.12.1-py3-none-any.whl (8.3 kB) Downloading fonttools-4.62.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (5.0 MB) Downloading kiwisolver-1.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.5 MB) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: xyzservices, tornado, tenacity, python-dateutil, kiwisolver, fonttools, cycler, contourpy, plotly, pandas, matplotlib, mpld3, bokeh Attempting uninstall: python-dateutil Found existing installation: python-dateutil 2.8.1 Uninstalling python-dateutil-2.8.1: Successfully uninstalled python-dateutil-2.8.1 Successfully installed bokeh-3.1.1 contourpy-1.3.3 cycler-0.12.1 fonttools-4.62.1 kiwisolver-1.5.0 matplotlib-3.10.8 mpld3-0.5.9 pandas-3.0.2 plotly-5.13.1 python-dateutil-2.9.0.post0 tenacity-9.1.4 tornado-6.5.5 xyzservices-2026.3.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Collecting google-cloud-documentai (from -r account-invoicing/requirements.txt (line 2)) Downloading google_cloud_documentai-3.14.0-py3-none-any.whl.metadata (9.6 kB) Requirement already satisfied: openupgradelib in /home/runbot/.local/lib/python3.12/site-packages (from -r account-invoicing/requirements.txt (line 3)) (3.12.0) Collecting google-api-core<3.0.0,>=2.11.0 (from google-api-core[grpc]<3.0.0,>=2.11.0->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading google_api_core-2.30.2-py3-none-any.whl.metadata (3.1 kB) Collecting google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1 (from google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading google_auth-2.49.1-py3-none-any.whl.metadata (6.2 kB) Collecting grpcio<2.0.0,>=1.33.2 (from google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading grpcio-1.80.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (3.8 kB) Collecting proto-plus<2.0.0,>=1.22.3 (from google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading proto_plus-1.27.2-py3-none-any.whl.metadata (2.2 kB) Collecting protobuf<8.0.0,>=4.25.8 (from google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading protobuf-7.34.1-cp310-abi3-manylinux2014_x86_64.whl.metadata (595 bytes) Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from openupgradelib->-r account-invoicing/requirements.txt (line 3)) (5.2.1) Requirement already satisfied: cssselect in /home/runbot/.local/lib/python3.12/site-packages (from openupgradelib->-r account-invoicing/requirements.txt (line 3)) (1.4.0) Collecting googleapis-common-protos<2.0.0,>=1.63.2 (from google-api-core<3.0.0,>=2.11.0->google-api-core[grpc]<3.0.0,>=2.11.0->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading googleapis_common_protos-1.74.0-py3-none-any.whl.metadata (9.2 kB) Requirement already satisfied: requests<3.0.0,>=2.20.0 in /usr/lib/python3/dist-packages (from google-api-core<3.0.0,>=2.11.0->google-api-core[grpc]<3.0.0,>=2.11.0->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) (2.31.0) Collecting grpcio-status<2.0.0,>=1.33.2 (from google-api-core[grpc]<3.0.0,>=2.11.0->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading grpcio_status-1.80.0-py3-none-any.whl.metadata (1.3 kB) Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.12/dist-packages (from google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) (0.4.2) Requirement already satisfied: cryptography>=38.0.3 in /home/runbot/.local/lib/python3.12/site-packages (from google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) (46.0.7) Collecting typing-extensions~=4.12 (from grpcio<2.0.0,>=1.33.2->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB) Requirement already satisfied: cffi>=2.0.0 in /usr/local/lib/python3.12/dist-packages (from cryptography>=38.0.3->google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) (2.0.0) Collecting protobuf<8.0.0,>=4.25.8 (from google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) Downloading protobuf-6.33.6-cp39-abi3-manylinux2014_x86_64.whl.metadata (593 bytes) Requirement already satisfied: pyasn1<0.7.0,>=0.6.1 in /usr/local/lib/python3.12/dist-packages (from pyasn1-modules>=0.2.1->google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) (0.6.2) Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=2.0.0->cryptography>=38.0.3->google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1->google-cloud-documentai->-r account-invoicing/requirements.txt (line 2)) (3.0) Downloading google_cloud_documentai-3.14.0-py3-none-any.whl (311 kB) Downloading google_api_core-2.30.2-py3-none-any.whl (173 kB) Downloading google_auth-2.49.1-py3-none-any.whl (240 kB) Downloading grpcio-1.80.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (6.8 MB) Downloading proto_plus-1.27.2-py3-none-any.whl (50 kB) Downloading googleapis_common_protos-1.74.0-py3-none-any.whl (300 kB) Downloading grpcio_status-1.80.0-py3-none-any.whl (14 kB) Downloading protobuf-6.33.6-cp39-abi3-manylinux2014_x86_64.whl (323 kB) Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: typing-extensions, protobuf, proto-plus, grpcio, googleapis-common-protos, grpcio-status, google-auth, google-api-core, google-cloud-documentai Successfully installed google-api-core-2.30.2 google-auth-2.49.1 google-cloud-documentai-3.14.0 googleapis-common-protos-1.74.0 grpcio-1.80.0 grpcio-status-1.80.0 proto-plus-1.27.2 protobuf-6.33.6 typing-extensions-4.15.0 WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: openupgradelib in /home/runbot/.local/lib/python3.12/site-packages (from -r purchase-workflow/requirements.txt (line 2)) (3.12.0) Requirement already satisfied: lxml in /usr/lib/python3/dist-packages (from openupgradelib->-r purchase-workflow/requirements.txt (line 2)) (5.2.1) Requirement already satisfied: cssselect in /home/runbot/.local/lib/python3.12/site-packages (from openupgradelib->-r purchase-workflow/requirements.txt (line 2)) (1.4.0) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Requirement already satisfied: num2words in /home/runbot/.local/lib/python3.12/site-packages (from -r l10n-thailand/requirements.txt (line 2)) (0.5.9) Collecting promptpay (from -r l10n-thailand/requirements.txt (line 3)) Downloading promptpay-1.1.9-py3-none-any.whl.metadata (3.6 kB) Requirement already satisfied: docopt>=0.6.2 in /usr/lib/python3/dist-packages (from num2words->-r l10n-thailand/requirements.txt (line 2)) (0.6.2) Requirement already satisfied: qrcode in /home/runbot/.local/lib/python3.12/site-packages (from promptpay->-r l10n-thailand/requirements.txt (line 3)) (6.1) Collecting libscrc (from promptpay->-r l10n-thailand/requirements.txt (line 3)) Downloading libscrc-1.8.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (16 kB) Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from promptpay->-r l10n-thailand/requirements.txt (line 3)) (10.2.0) Requirement already satisfied: wheel in /usr/lib/python3/dist-packages (from libscrc->promptpay->-r l10n-thailand/requirements.txt (line 3)) (0.42.0) Requirement already satisfied: six in /usr/lib/python3/dist-packages (from qrcode->promptpay->-r l10n-thailand/requirements.txt (line 3)) (1.16.0) Downloading promptpay-1.1.9-py3-none-any.whl (5.8 kB) Downloading libscrc-1.8.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl (189 kB) WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: libscrc, promptpay Successfully installed libscrc-1.8.1 promptpay-1.1.9 2026-04-08 09:34:34,571 381 INFO ? odoo: Odoo version 16.0 2026-04-08 09:34:34,572 381 INFO ? odoo: Using configuration file at /home/runbot/.odoorc 2026-04-08 09:34:34,572 381 INFO ? odoo: addons paths: ['/data/build/odoo/odoo/addons', '/data/build/datadir/addons/16.0', '/data/build/kmitl', '/data/build/stock-logistics-warehouse', '/data/build/stock-logistics-request', '/data/build/product-attribute', '/data/build/social', '/data/build/account-analytic', '/data/build/partner-contact', '/data/build/operating-unit', '/data/build/agreement', '/data/build/server-backend', '/data/build/account-reconcile', '/data/build/mis-builder', '/data/build/reporting-engine', '/data/build/odoo/addons', '/data/build/account-financial-reporting', '/data/build/project', '/data/build/server-tools', '/data/build/server-ux', '/data/build/hr', '/data/build/account-financial-tools', '/data/build/web', '/data/build/account-invoicing', '/data/build/purchase-workflow', '/data/build/server-brand', '/data/build/l10n-thailand', '/data/build/odoo-modules'] 2026-04-08 09:34:34,572 381 INFO ? odoo: database: runbot@default:default Warn: Can't find .pfb for face 'Courier' 2026-04-08 09:34:35,288 381 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf 2026-04-08 09:34:35,663 381 INFO ? odoo.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069 2026-04-08 09:34:35,685 381 INFO 10282-16-0-without_demo odoo.modules.loading: loading 1 modules... 2026-04-08 09:34:35,698 381 INFO 10282-16-0-without_demo odoo.modules.loading: 1 modules loaded in 0.01s, 0 queries (+0 extra) 2026-04-08 09:34:35,724 381 WARNING 10282-16-0-without_demo odoo.modules.module: Missing `license` key in manifest for 'agx_construction', defaulting to LGPL-3 2026-04-08 09:34:35,794 381 WARNING 10282-16-0-without_demo odoo.modules.module: Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3 2026-04-08 09:34:35,890 381 INFO 10282-16-0-without_demo odoo.modules.loading: loading 321 modules... 2026-04-08 09:34:39,100 381 INFO 10282-16-0-without_demo odoo.modules.loading: 321 modules loaded in 3.21s, 0 queries (+0 extra) 2026-04-08 09:34:39,569 381 INFO 10282-16-0-without_demo odoo.modules.loading: Modules loaded. 2026-04-08 09:34:39,579 381 INFO 10282-16-0-without_demo odoo.modules.registry: Registry loaded in 3.916s 2026-04-08 09:34:39,579 381 INFO 10282-16-0-without_demo odoo.sql_db: ConnectionPool(used=0/count=0/max=64): Closed 2 connections 2026-04-08 09:34:39,588 404 INFO 10282-16-0-without_demo odoo.service.server: Worker WorkerHTTP (404) alive 2026-04-08 09:34:39,599 406 INFO 10282-16-0-without_demo odoo.service.server: Worker WorkerHTTP (406) alive 2026-04-08 09:34:39,609 408 INFO 10282-16-0-without_demo odoo.service.server: Worker WorkerCron (408) alive 2026-04-08 09:34:41,614 407 INFO ? odoo: Odoo version 16.0 2026-04-08 09:34:41,615 407 INFO ? odoo: Using configuration file at /home/runbot/.odoorc 2026-04-08 09:34:41,615 407 INFO ? odoo: addons paths: ['/data/build/odoo/odoo/addons', '/data/build/datadir/addons/16.0', '/data/build/kmitl', '/data/build/stock-logistics-warehouse', '/data/build/stock-logistics-request', '/data/build/product-attribute', '/data/build/social', '/data/build/account-analytic', '/data/build/partner-contact', '/data/build/operating-unit', '/data/build/agreement', '/data/build/server-backend', '/data/build/account-reconcile', '/data/build/mis-builder', '/data/build/reporting-engine', '/data/build/odoo/addons', '/data/build/account-financial-reporting', '/data/build/project', '/data/build/server-tools', '/data/build/server-ux', '/data/build/hr', '/data/build/account-financial-tools', '/data/build/web', '/data/build/account-invoicing', '/data/build/purchase-workflow', '/data/build/server-brand', '/data/build/l10n-thailand', '/data/build/odoo-modules'] 2026-04-08 09:34:41,615 407 INFO ? odoo: database: runbot@default:default Warn: Can't find .pfb for face 'Courier' 2026-04-08 09:34:42,531 407 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf 2026-04-08 09:34:42,852 407 INFO ? odoo.service.server: Evented Service (longpolling) running on 0.0.0.0:8070 2026-04-08 09:35:48,045 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `purchase_order_fines_late_daily`. 2026-04-08 09:35:48,065 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `purchase_order_fines_late_daily` done. 2026-04-08 09:35:48,091 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Send Tier Review Reminder`. 2026-04-08 09:35:48,104 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Send Tier Review Reminder` done. 2026-04-08 09:35:48,113 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-08 09:35:48,122 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-08 09:35:48,131 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Recompute Contract Expire Days`. 2026-04-08 09:35:48,213 408 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1228, in process_work base.models.ir_cron.ir_cron._process_jobs(db_name) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 135, in _process_jobs registry[cls._name]._process_job(db, cron_cr, job) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 350, in _process_job ir_cron._callback(job['cron_name'], job['ir_actions_server_id'], job['id']) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 391, in _callback self.env['ir.actions.server'].browse(server_action_id).run() File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 675, in run res = runner(run_self, eval_context=eval_context) File "/data/build/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 545, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' File "/data/build/odoo/odoo/tools/safe_eval.py", line 399, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "ir.actions.server(749,)", line 1, in File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 34, in action_recompute_expire records._compute_days_to_expire() File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 47, in _compute_days_to_expire record.days_to_expire = (record.work_end - today).days File "/data/build/odoo/odoo/fields.py", line 1337, in __set__ records.write({self.name: write_value}) File "/data/build/odoo/addons/purchase_stock/models/purchase.py", line 95, in write res = super(PurchaseOrder, self).write(vals) File "/data/build/odoo/addons/purchase_requisition/models/purchase.py", line 158, in write result = super(PurchaseOrder, self).write(vals) File "/data/build/purchase-workflow/purchase_exception/models/purchase.py", line 41, in write result = super().write(vals) File "/data/build/odoo/addons/purchase/models/purchase.py", line 235, in write res = super().write(vals) File "/data/build/odoo/addons/mail/models/mail_thread.py", line 315, in write result = super(MailThread, self).write(values) File "/data/build/odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write return super(MailActivityMixin, self).write(vals) File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 82, in write res = super().write(vals) File "/data/build/odoo/addons/analytic/models/analytic_mixin.py", line 82, in write return super().write(vals) File "/data/build/odoo/odoo/models.py", line 3766, in write if self.pool.is_modifying_relations(field): File "/data/build/odoo/odoo/modules/registry.py", line 458, in is_modifying_relations result = field in self._field_triggers and ( File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 09:35:48,223 408 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1228, in process_work base.models.ir_cron.ir_cron._process_jobs(db_name) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 135, in _process_jobs registry[cls._name]._process_job(db, cron_cr, job) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 350, in _process_job ir_cron._callback(job['cron_name'], job['ir_actions_server_id'], job['id']) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 391, in _callback self.env['ir.actions.server'].browse(server_action_id).run() File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 675, in run res = runner(run_self, eval_context=eval_context) File "/data/build/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 545, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' File "/data/build/odoo/odoo/tools/safe_eval.py", line 399, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "ir.actions.server(749,)", line 1, in File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 34, in action_recompute_expire records._compute_days_to_expire() File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 47, in _compute_days_to_expire record.days_to_expire = (record.work_end - today).days File "/data/build/odoo/odoo/fields.py", line 1337, in __set__ records.write({self.name: write_value}) File "/data/build/odoo/addons/purchase_stock/models/purchase.py", line 95, in write res = super(PurchaseOrder, self).write(vals) File "/data/build/odoo/addons/purchase_requisition/models/purchase.py", line 158, in write result = super(PurchaseOrder, self).write(vals) File "/data/build/purchase-workflow/purchase_exception/models/purchase.py", line 41, in write result = super().write(vals) File "/data/build/odoo/addons/purchase/models/purchase.py", line 235, in write res = super().write(vals) File "/data/build/odoo/addons/mail/models/mail_thread.py", line 315, in write result = super(MailThread, self).write(values) File "/data/build/odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write return super(MailActivityMixin, self).write(vals) File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 82, in write res = super().write(vals) File "/data/build/odoo/addons/analytic/models/analytic_mixin.py", line 82, in write return super().write(vals) File "/data/build/odoo/odoo/models.py", line 3766, in write if self.pool.is_modifying_relations(field): File "/data/build/odoo/odoo/modules/registry.py", line 458, in is_modifying_relations result = field in self._field_triggers and ( File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 09:35:48,225 408 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1228, in process_work base.models.ir_cron.ir_cron._process_jobs(db_name) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 135, in _process_jobs registry[cls._name]._process_job(db, cron_cr, job) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 350, in _process_job ir_cron._callback(job['cron_name'], job['ir_actions_server_id'], job['id']) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 391, in _callback self.env['ir.actions.server'].browse(server_action_id).run() File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 675, in run res = runner(run_self, eval_context=eval_context) File "/data/build/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 545, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' File "/data/build/odoo/odoo/tools/safe_eval.py", line 399, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "ir.actions.server(749,)", line 1, in File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 34, in action_recompute_expire records._compute_days_to_expire() File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 47, in _compute_days_to_expire record.days_to_expire = (record.work_end - today).days File "/data/build/odoo/odoo/fields.py", line 1337, in __set__ records.write({self.name: write_value}) File "/data/build/odoo/addons/purchase_stock/models/purchase.py", line 95, in write res = super(PurchaseOrder, self).write(vals) File "/data/build/odoo/addons/purchase_requisition/models/purchase.py", line 158, in write result = super(PurchaseOrder, self).write(vals) File "/data/build/purchase-workflow/purchase_exception/models/purchase.py", line 41, in write result = super().write(vals) File "/data/build/odoo/addons/purchase/models/purchase.py", line 235, in write res = super().write(vals) File "/data/build/odoo/addons/mail/models/mail_thread.py", line 315, in write result = super(MailThread, self).write(values) File "/data/build/odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write return super(MailActivityMixin, self).write(vals) File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 82, in write res = super().write(vals) File "/data/build/odoo/addons/analytic/models/analytic_mixin.py", line 82, in write return super().write(vals) File "/data/build/odoo/odoo/models.py", line 3766, in write if self.pool.is_modifying_relations(field): File "/data/build/odoo/odoo/modules/registry.py", line 458, in is_modifying_relations result = field in self._field_triggers and ( File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 09:35:48,228 408 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1228, in process_work base.models.ir_cron.ir_cron._process_jobs(db_name) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 135, in _process_jobs registry[cls._name]._process_job(db, cron_cr, job) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 350, in _process_job ir_cron._callback(job['cron_name'], job['ir_actions_server_id'], job['id']) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 391, in _callback self.env['ir.actions.server'].browse(server_action_id).run() File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 675, in run res = runner(run_self, eval_context=eval_context) File "/data/build/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 545, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' File "/data/build/odoo/odoo/tools/safe_eval.py", line 399, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "ir.actions.server(749,)", line 1, in File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 34, in action_recompute_expire records._compute_days_to_expire() File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 47, in _compute_days_to_expire record.days_to_expire = (record.work_end - today).days File "/data/build/odoo/odoo/fields.py", line 1337, in __set__ records.write({self.name: write_value}) File "/data/build/odoo/addons/purchase_stock/models/purchase.py", line 95, in write res = super(PurchaseOrder, self).write(vals) File "/data/build/odoo/addons/purchase_requisition/models/purchase.py", line 158, in write result = super(PurchaseOrder, self).write(vals) File "/data/build/purchase-workflow/purchase_exception/models/purchase.py", line 41, in write result = super().write(vals) File "/data/build/odoo/addons/purchase/models/purchase.py", line 235, in write res = super().write(vals) File "/data/build/odoo/addons/mail/models/mail_thread.py", line 315, in write result = super(MailThread, self).write(values) File "/data/build/odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write return super(MailActivityMixin, self).write(vals) File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 82, in write res = super().write(vals) File "/data/build/odoo/addons/analytic/models/analytic_mixin.py", line 82, in write return super().write(vals) File "/data/build/odoo/odoo/models.py", line 3766, in write if self.pool.is_modifying_relations(field): File "/data/build/odoo/odoo/modules/registry.py", line 458, in is_modifying_relations result = field in self._field_triggers and ( File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 09:35:48,230 408 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.fines_total is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1228, in process_work base.models.ir_cron.ir_cron._process_jobs(db_name) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 135, in _process_jobs registry[cls._name]._process_job(db, cron_cr, job) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 350, in _process_job ir_cron._callback(job['cron_name'], job['ir_actions_server_id'], job['id']) File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 391, in _callback self.env['ir.actions.server'].browse(server_action_id).run() File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 675, in run res = runner(run_self, eval_context=eval_context) File "/data/build/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 545, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' File "/data/build/odoo/odoo/tools/safe_eval.py", line 399, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "ir.actions.server(749,)", line 1, in File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 34, in action_recompute_expire records._compute_days_to_expire() File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 47, in _compute_days_to_expire record.days_to_expire = (record.work_end - today).days File "/data/build/odoo/odoo/fields.py", line 1337, in __set__ records.write({self.name: write_value}) File "/data/build/odoo/addons/purchase_stock/models/purchase.py", line 95, in write res = super(PurchaseOrder, self).write(vals) File "/data/build/odoo/addons/purchase_requisition/models/purchase.py", line 158, in write result = super(PurchaseOrder, self).write(vals) File "/data/build/purchase-workflow/purchase_exception/models/purchase.py", line 41, in write result = super().write(vals) File "/data/build/odoo/addons/purchase/models/purchase.py", line 235, in write res = super().write(vals) File "/data/build/odoo/addons/mail/models/mail_thread.py", line 315, in write result = super(MailThread, self).write(values) File "/data/build/odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write return super(MailActivityMixin, self).write(vals) File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 82, in write res = super().write(vals) File "/data/build/odoo/addons/analytic/models/analytic_mixin.py", line 82, in write return super().write(vals) File "/data/build/odoo/odoo/models.py", line 3766, in write if self.pool.is_modifying_relations(field): File "/data/build/odoo/odoo/modules/registry.py", line 458, in is_modifying_relations result = field in self._field_triggers and ( File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 09:35:48,280 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Recompute Contract Expire Days` done. 2026-04-08 09:35:48,287 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notify Contract Nearly Expire`. 2026-04-08 09:35:48,305 408 ERROR 10282-16-0-without_demo odoo.sql_db: bad query: INSERT INTO "mail_channel_member" ("channel_id", "create_date", "create_uid", "fold_state", "is_pinned", "last_interest_dt", "partner_id", "write_date", "write_uid") VALUES (2, '2026-04-08 09:35:48.284520', 1, 'open', true, '2026-04-08 09:35:48', 2, '2026-04-08 09:35:48.284520', 1), (2, '2026-04-08 09:35:48.284520', 1, 'open', true, '2026-04-08 09:35:48', 2, '2026-04-08 09:35:48.284520', 1) RETURNING "id" ERROR: duplicate key value violates unique constraint "mail_channel_member_partner_unique" DETAIL: Key (channel_id, partner_id)=(2, 2) already exists. 2026-04-08 09:35:48,306 408 ERROR 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Call from cron Notify Contract Nearly Expire for server action #750 failed in Job #35 Traceback (most recent call last): File "/data/build/odoo/odoo/tools/safe_eval.py", line 399, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "ir.actions.server(750,)", line 1, in File "/data/build/kmitl/purchase_order_expiration/models/purchase_order.py", line 101, in _cron_notify_contract_expire channel_data = self.env['mail.channel'].sudo().channel_get( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/addons/mail/models/mail_channel.py", line 894, in channel_get channel = self.create({ ^^^^^^^^^^^^^ File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) ^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/addons/mail/models/mail_channel.py", line 239, in create channels = super(Channel, self.with_context(mail_create_bypass_create_check=self.env['mail.channel.member']._bypass_create_check, mail_create_nolog=True, mail_create_nosubscribe=True)).create(vals_list) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) ^^^^^^^^^^^^^^^^^ File "/data/build/odoo/addons/mail/models/mail_thread.py", line 258, in create threads = super(MailThread, self).create(vals_list) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) ^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) ^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) ^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/models.py", line 4256, in _create field.create([ File "/data/build/odoo/odoo/fields.py", line 4282, in create self.write_batch(record_values, True) File "/data/build/odoo/odoo/fields.py", line 4308, in write_batch return self.write_real(records_commands_list, create) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/fields.py", line 4508, in write_real flush() File "/data/build/odoo/odoo/fields.py", line 4464, in flush comodel.create(to_create) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) ^^^^^^^^^^^^^^^^^ File "/data/build/odoo/addons/mail/models/mail_channel_member.py", line 88, in create return super().create(vals_list) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) ^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) ^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) ^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/models.py", line 4200, in _create cr.execute( File "/data/build/odoo/odoo/sql_db.py", line 321, in execute res = self._obj.execute(query, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "mail_channel_member_partner_unique" DETAIL: Key (channel_id, partner_id)=(2, 2) already exists. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 391, in _callback self.env['ir.actions.server'].browse(server_action_id).run() File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 675, in run res = runner(run_self, eval_context=eval_context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 545, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data/build/odoo/odoo/tools/safe_eval.py", line 413, in safe_eval raise ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr)) ValueError: : "duplicate key value violates unique constraint "mail_channel_member_partner_unique" DETAIL: Key (channel_id, partner_id)=(2, 2) already exists. " while evaluating 'model._cron_notify_contract_expire()' 2026-04-08 09:35:48,333 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Base: Auto-vacuum internal data`. 2026-04-08 09:35:48,364 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_attachment: filestore gc 131 checked, 7 removed 2026-04-08 09:35:48,424 408 INFO 10282-16-0-without_demo odoo.addons.base.models.res_users: GC'd 0 user log entries 2026-04-08 09:35:48,454 408 INFO 10282-16-0-without_demo odoo.addons.auth_totp.models.auth_totp: GC'd 0 totp devices entries 2026-04-08 09:35:48,478 408 INFO 10282-16-0-without_demo odoo.models.unlink: User #1 deleted bus.bus records with IDs: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30] 2026-04-08 09:35:49,007 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Base: Auto-vacuum internal data` done. 2026-04-08 09:35:49,014 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-08 09:35:49,019 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-08 09:35:49,024 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Delete Notifications older than 6 Month`. 2026-04-08 09:35:49,029 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Delete Notifications older than 6 Month` done. 2026-04-08 09:35:49,049 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-08 09:35:49,052 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-08 09:35:49,060 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Users: Notify About Unregistered Users`. 2026-04-08 09:35:49,069 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Users: Notify About Unregistered Users` done. 2026-04-08 09:35:49,084 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Disable unused snippets assets`. 2026-04-08 09:35:50,672 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Disable unused snippets assets` done. 2026-04-08 09:35:51,069 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Website Visitor : clean inactive visitors`. 2026-04-08 09:35:51,074 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Website Visitor : clean inactive visitors` done. 2026-04-08 09:35:51,118 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Procurement: run scheduler`. 2026-04-08 09:35:51,143 408 INFO 10282-16-0-without_demo odoo.addons.stock.models.stock_rule: _run_scheduler_tasks is finished and committed 2026-04-08 09:35:51,143 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Procurement: run scheduler` done. 2026-04-08 09:35:51,156 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Purchase reminder`. 2026-04-08 09:35:51,163 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Purchase reminder` done. 2026-04-08 09:35:51,177 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Project: Send rating`. 2026-04-08 09:35:51,183 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Project: Send rating` done. 2026-04-08 09:35:51,191 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `HR Employee: check work permit validity`. 2026-04-08 09:35:51,198 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `HR Employee: check work permit validity` done. 2026-04-08 09:35:51,205 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Calendar: Event Reminder`. 2026-04-08 09:35:51,212 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Calendar: Event Reminder` done. 2026-04-08 09:35:51,220 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Accrual Time Off: Updates the number of time off`. 2026-04-08 09:35:51,229 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Accrual Time Off: Updates the number of time off` done. 2026-04-08 09:35:51,238 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `HR Contract: update state`. 2026-04-08 09:35:51,248 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `HR Contract: update state` done. 2026-04-08 09:35:51,255 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-08 09:35:51,259 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-08 09:35:51,266 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 09:35:51,271 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 09:35:51,277 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Close Expired Job Postings`. 2026-04-08 09:35:51,283 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Close Expired Job Postings` done. 2026-04-08 09:35:51,288 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-08 09:35:51,291 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-08 09:35:51,295 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Update user roles`. 2026-04-08 09:35:51,297 408 INFO 10282-16-0-without_demo root: Update user roles 2026-04-08 09:35:51,298 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Update user roles` done. 2026-04-08 09:35:51,302 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-08 09:35:51,304 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-08 09:39:15,861 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 09:39:15,871 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 09:49:29,515 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 09:49:29,528 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 09:58:34,906 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 09:58:34,915 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 10:08:48,539 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 10:08:48,551 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 10:19:02,158 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 10:19:02,169 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 10:28:07,546 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-08 10:28:07,557 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-08 10:28:07,572 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-08 10:28:07,579 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-08 10:29:15,776 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-08 10:29:15,780 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-08 10:29:15,794 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 10:29:15,803 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 10:29:15,812 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-08 10:29:15,817 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-08 10:29:15,824 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-08 10:29:15,828 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-08 10:33:48,578 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-08 10:33:48,589 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-08 10:39:29,639 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 10:39:29,650 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 10:48:35,052 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 10:48:35,063 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 10:57:56,270 404 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_http: Generating routing map for key 1 2026-04-08 10:57:57,261 404 WARNING 10282-16-0-without_demo odoo.modules.module: Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3 2026-04-08 10:57:57,919 404 WARNING 10282-16-0-without_demo odoo.modules.module: Missing `license` key in manifest for 'agx_construction', defaulting to LGPL-3 2026-04-08 10:57:58,603 404 INFO 10282-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-4f7ab4c/1/web.assets_frontend.min.css 2026-04-08 10:57:59,222 406 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_http: Generating routing map for key 1 2026-04-08 10:57:59,931 406 WARNING 10282-16-0-without_demo odoo.modules.module: Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3 2026-04-08 10:58:00,042 406 WARNING 10282-16-0-without_demo odoo.modules.module: Missing `license` key in manifest for 'agx_construction', defaulting to LGPL-3 2026-04-08 10:58:00,284 406 INFO 10282-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-4f7ab4c/1/web.assets_frontend.min.css 2026-04-08 10:58:01,394 404 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:01,456 404 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:01,481 404 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:01,483 404 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:01,508 404 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.fines_total is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:01,544 404 INFO 10282-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-1de624b/1/web.assets_frontend_minimal.min.js 2026-04-08 10:58:01,837 406 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:01,862 404 INFO 10282-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-c5465e6/1/web.assets_frontend_lazy.min.js 2026-04-08 10:58:01,864 406 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:01,866 406 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:01,868 406 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:01,870 406 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.fines_total is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap self._bootstrap_inner() File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner self.run() File "/usr/lib/python3.12/threading.py", line 1010, in run self._target(*self._args, **self._kwargs) File "/data/build/odoo/odoo/service/server.py", line 1129, in _runloop self.process_work() File "/data/build/odoo/odoo/service/server.py", line 1168, in process_work self.process_request(client, addr) File "/data/build/odoo/odoo/service/server.py", line 1159, in process_request self.server.process_request(client, addr) File "/usr/lib/python3.12/socketserver.py", line 349, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.12/socketserver.py", line 761, in __init__ self.handle() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 342, in handle BaseHTTPRequestHandler.handle(self) File "/usr/lib/python3.12/http/server.py", line 436, in handle self.handle_one_request() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 374, in handle_one_request self.run_wsgi() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 319, in run_wsgi execute(self.server.app) File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/serving.py", line 308, in execute application_iter = app(environ, start_response) File "/data/build/odoo/odoo/http.py", line 2237, in __call__ response = request._serve_db() File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/data/build/odoo/odoo/http.py", line 1966, in dispatch return self.request.registry['ir.http']._dispatch(endpoint) File "/data/build/odoo/addons/website/models/ir_http.py", line 237, in _dispatch response = super()._dispatch(endpoint) File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 156, in _dispatch result.flatten() File "/data/build/odoo/odoo/tools/facade.py", line 83, in wrap_func func(self._wrapped__, *args, **kwargs) File "/data/build/odoo/odoo/http.py", line 1213, in flatten self.response.append(self.render()) File "/data/build/odoo/odoo/http.py", line 1205, in render return request.env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template return super()._render_template(template, values=values) File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2135, in _render_template return self.env['ir.qweb']._render(template, values) File "/data/build/odoo/odoo/tools/profiler.py", line 301, in _tracked_method_render return method_render(self, template, values, **options) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 593, in _render result = ''.join(rendering) File "<1379>", line 39, in template_1379 File "<1379>", line 28, in template_1379_content File "<1381>", line 1402, in template_1381 File "<1381>", line 1015, in template_1381_content File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2470, in _load_values value = self._get_cached_values(cache_key, get_value) File "", line 2, in _get_cached_values File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2483, in _get_cached_values return get_value() File "<1381>", line 1005, in template_1381_t_cache_0_cache File "<1381>", line 426, in template_1381_t_cache_0 File "/data/build/odoo/addons/website/models/ir_qweb.py", line 122, in _get_asset_nodes return super(IrQWeb, self_website)._get_asset_nodes(bundle, css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, media=media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2438, in _get_asset_nodes return self._generate_asset_nodes_cache(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "", line 2, in _generate_asset_nodes_cache File "/data/build/odoo/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2493, in _generate_asset_nodes_cache return self._generate_asset_nodes(bundle, css, js, debug, async_load, defer_load, lazy_load, media) File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2567, in _generate_asset_nodes return remains + asset.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 159, in to_node css_attachments = self.css(is_minified=not is_debug_assets) or [] File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 627, in css self.save_attachment(extension, css) File "/data/build/odoo/odoo/addons/base/models/assetsbundle.py", line 373, in save_attachment attachment = ira.with_user(SUPERUSER_ID).create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/addons/website/models/ir_attachment.py", line 23, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_attachment.py", line 673, in create return super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:01,924 406 INFO 10282-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-1de624b/1/web.assets_frontend_minimal.min.js 2026-04-08 10:58:02,174 406 INFO 10282-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-c5465e6/1/web.assets_frontend_lazy.min.js 2026-04-08 10:58:03,694 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:03] "GET / HTTP/1.0" 200 - 177 0.302 7.150 2026-04-08 10:58:03,821 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:03] "GET / HTTP/1.0" 200 - 177 0.198 4.440 2026-04-08 10:58:05,567 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:05] "GET /web/assets/273-4f7ab4c/1/web.assets_frontend.min.css HTTP/1.0" 200 - 5 0.007 1.580 2026-04-08 10:58:05,578 404 INFO ? werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:05] "GET /web/static/src/libs/fontawesome/fonts/fontawesome-webfont.woff2?v=4.7.0 HTTP/1.0" 200 - 1 0.004 1.604 2026-04-08 10:58:05,700 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:05] "GET /web/assets/274-1de624b/1/web.assets_frontend_minimal.min.js HTTP/1.0" 200 - 5 0.013 0.021 2026-04-08 10:58:05,750 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:05] "GET /web/assets/274-1de624b/1/web.assets_frontend_minimal.min.js HTTP/1.0" 200 - 5 0.009 0.018 2026-04-08 10:58:05,784 404 INFO ? werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:05] "GET /web/static/img/odoo_logo_tiny.png HTTP/1.0" 200 - 1 0.015 0.018 2026-04-08 10:58:05,803 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:05] "GET /web/image/website/1/logo/My%20Website?unique=c5d71a1 HTTP/1.0" 200 - 6 0.014 0.060 2026-04-08 10:58:05,815 406 INFO ? werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:05] "GET /web/static/fonts/twitter_x_only.woff HTTP/1.0" 200 - 1 0.003 0.007 2026-04-08 10:58:05,824 404 INFO ? werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:05] "GET /base_fontawesome/static/lib/fontawesome-6.5.1/webfonts/fa-brands-400.woff2 HTTP/1.0" 200 - 1 0.003 0.036 2026-04-08 10:58:05,894 406 INFO ? werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:05] "GET /base_fontawesome/static/lib/fontawesome-6.5.1/webfonts/fa-solid-900.woff2 HTTP/1.0" 200 - 1 0.005 0.011 2026-04-08 10:58:06,042 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:06] "GET /web/assets/276-c5465e6/1/web.assets_frontend_lazy.min.js HTTP/1.0" 200 - 5 0.014 0.013 2026-04-08 10:58:06,063 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:06] "GET /web/image/website/1/favicon?unique=c5d71a1 HTTP/1.0" 200 - 6 0.011 0.038 2026-04-08 10:58:06,574 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:06] "GET /web/assets/276-c5465e6/1/web.assets_frontend_lazy.min.js HTTP/1.0" 200 - 5 0.006 0.031 2026-04-08 10:58:06,589 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:06] "GET /website/translations/76088d6be19ccea33315de4d609bce1d8c50ac29?lang=en_US HTTP/1.0" 200 - 3 0.005 0.016 2026-04-08 10:58:09,049 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:09] "GET /web/login HTTP/1.0" 200 - 19 0.022 0.084 2026-04-08 10:58:09,200 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:09] "GET /web/assets/271-4f7ab4c/1/web.assets_frontend.min.css HTTP/1.0" 200 - 5 0.006 0.019 2026-04-08 10:58:09,243 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:09] "GET /web/assets/272-1de624b/1/web.assets_frontend_minimal.min.js HTTP/1.0" 200 - 5 0.004 0.011 2026-04-08 10:58:09,397 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:09] "GET /web/assets/272-1de624b/1/web.assets_frontend_minimal.min.js HTTP/1.0" 200 - 5 0.004 0.011 2026-04-08 10:58:09,479 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:09] "GET /web/assets/275-c5465e6/1/web.assets_frontend_lazy.min.js HTTP/1.0" 200 - 5 0.005 0.014 2026-04-08 10:58:10,013 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:10] "GET /web/assets/275-c5465e6/1/web.assets_frontend_lazy.min.js HTTP/1.0" 200 - 5 0.005 0.019 2026-04-08 10:58:13,385 406 INFO 10282-16-0-without_demo odoo.addons.base.models.res_users: Login successful for db:10282-16-0-without_demo login:admin from 10.72.0.104 2026-04-08 10:58:13,416 406 INFO 10282-16-0-without_demo odoo.modules.registry: At least one model cache has been invalidated, signaling through the database. 2026-04-08 10:58:13,417 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:13] "POST /web/login HTTP/1.0" 303 - 94 0.083 0.853 2026-04-08 10:58:18,902 406 INFO 10282-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-546ebdf/web.assets_common.min.css 2026-04-08 10:58:20,336 406 INFO 10282-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-a385531/web.assets_backend.min.css 2026-04-08 10:58:22,948 406 INFO 10282-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-546ebdf/web.assets_common.min.js 2026-04-08 10:58:23,895 406 INFO 10282-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-a385531/web.assets_backend.min.js 2026-04-08 10:58:27,835 406 INFO 10282-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-260b8f1/web.assets_backend_prod_only.min.js 2026-04-08 10:58:27,914 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:27] "GET /web HTTP/1.0" 200 - 129 0.136 14.248 2026-04-08 10:58:28,113 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:28] "GET /web/assets/277-546ebdf/web.assets_common.min.css HTTP/1.0" 200 - 4 0.001 0.007 2026-04-08 10:58:28,405 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:28] "GET /web/assets/278-a385531/web.assets_backend.min.css HTTP/1.0" 200 - 4 0.001 0.004 2026-04-08 10:58:28,524 404 INFO ? odoo.modules.registry: Invalidating all model caches after database signaling. 2026-04-08 10:58:28,528 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:28] "GET /web/assets/280-a385531/web.assets_backend.min.js HTTP/1.0" 200 - 4 0.001 0.004 2026-04-08 10:58:28,531 404 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_http: Generating routing map for key 1 2026-04-08 10:58:28,855 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:28] "GET /web/webclient/load_menus/7ce72e1c55f9052b08d16c37498193e26091e4631e042e9c94f66ae367887468 HTTP/1.0" 200 - 4 0.002 0.119 2026-04-08 10:58:28,912 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:28] "GET /web/webclient/translations/6c2cd97419f9101c8868ea8a1afd31de1f0de3f5?lang=th_TH HTTP/1.0" 200 - 3 0.002 0.019 2026-04-08 10:58:28,921 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:28] "GET /web/assets/280-a385531/web.assets_backend.min.js HTTP/1.0" 200 - 4 0.001 0.004 2026-04-08 10:58:29,121 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:29] "GET /web/assets/279-546ebdf/web.assets_common.min.js HTTP/1.0" 200 - 14 0.005 0.593 2026-04-08 10:58:29,152 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:29] "GET /web/assets/281-260b8f1/web.assets_backend_prod_only.min.js HTTP/1.0" 200 - 4 0.001 0.005 2026-04-08 10:58:29,315 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:29] "GET /web/assets/281-260b8f1/web.assets_backend_prod_only.min.js HTTP/1.0" 200 - 4 0.002 0.008 2026-04-08 10:58:29,784 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:29] "GET /web/assets/279-546ebdf/web.assets_common.min.js HTTP/1.0" 200 - 4 0.002 0.003 2026-04-08 10:58:30,107 406 INFO 10282-16-0-without_demo odoo.addons.partner_autocomplete.models.res_company: Starting enrich of company สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง (1) 2026-04-08 10:58:30,129 404 INFO ? werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:30] "GET /web/static/img/favicon.ico HTTP/1.0" 200 - 0 0.000 0.002 2026-04-08 10:58:30,169 406 INFO 10282-16-0-without_demo odoo.addons.iap.tools.iap_tools: iap jsonrpc https://partner-autocomplete.odoo.com/iap/partner_autocomplete/enrich 2026-04-08 10:58:30,218 404 INFO 10282-16-0-without_demo odoo.addons.base.models.assetsbundle: Failed to find attachment for assets /web/assets/%-a3fd9c5/bus.websocket_worker_assets.min.js 2026-04-08 10:58:30,244 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:30] "GET /bus/websocket_worker_bundle?v=1.0.5 HTTP/1.0" 200 - 12 0.007 0.032 2026-04-08 10:58:30,497 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:30] "POST /mail/init_messaging HTTP/1.0" 200 - 106 0.143 0.107 2026-04-08 10:58:30,500 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:30] "GET /web/webclient/locale/th_TH HTTP/1.0" 200 - 1 0.000 0.003 2026-04-08 10:58:30,506 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:30] "GET /bus/websocket_worker_bundle?v=1.0.5 HTTP/1.0" 200 - 4 0.001 0.004 2026-04-08 10:58:30,528 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:30] "POST /mail/load_message_failures HTTP/1.0" 200 - 6 0.003 0.005 2026-04-08 10:58:30,534 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:30] "GET /web/webclient/locale/th_TH HTTP/1.0" 200 - 1 0.000 0.004 2026-04-08 10:58:30,639 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:30] "POST /web/dataset/call_kw/res.users/get_sarabun_inbox_count HTTP/1.0" 200 - 10 0.010 0.010 2026-04-08 10:58:30,646 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:30] "POST /web/dataset/call_kw/res.users/get_wa_inbox_count HTTP/1.0" 200 - 6 0.002 0.004 2026-04-08 10:58:30,657 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:30] "POST /web/dataset/call_kw/res.company/get_current_fiscal_year_name HTTP/1.0" 200 - 8 0.005 0.006 2026-04-08 10:58:30,677 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:30] "POST /web/dataset/call_kw/res.users/review_user_count HTTP/1.0" 200 - 7 0.010 0.009 2026-04-08 10:58:30,704 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:30] "POST /web/dataset/call_kw/res.users/systray_get_activities HTTP/1.0" 200 - 24 0.015 0.012 2026-04-08 10:58:32,593 406 INFO 10282-16-0-without_demo odoo.modules.registry: At least one model cache has been invalidated, signaling through the database. 2026-04-08 10:58:32,594 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 10:58:32] "POST /web/dataset/call_kw/res.company/iap_enrich_auto HTTP/1.0" 200 - 37 0.062 2.433 2026-04-08 10:58:38,245 407 INFO ? odoo.modules.loading: loading 1 modules... 2026-04-08 10:58:38,267 407 INFO ? odoo.modules.loading: 1 modules loaded in 0.02s, 0 queries (+0 extra) 2026-04-08 10:58:38,300 407 WARNING ? odoo.modules.module: Missing `license` key in manifest for 'agx_construction', defaulting to LGPL-3 2026-04-08 10:58:38,380 407 WARNING ? odoo.modules.module: Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3 2026-04-08 10:58:38,478 407 INFO ? odoo.modules.loading: loading 321 modules... 2026-04-08 10:58:43,144 407 INFO ? odoo.modules.loading: 321 modules loaded in 4.67s, 0 queries (+0 extra) 2026-04-08 10:58:43,778 407 INFO ? odoo.modules.loading: Modules loaded. 2026-04-08 10:58:43,787 407 INFO ? odoo.modules.registry: Registry loaded in 5.574s 2026-04-08 10:58:43,790 407 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_http: Generating routing map for key 1 2026-04-08 10:58:44,270 407 INFO ? odoo.addons.bus.models.bus: Bus.loop listen imbus on db postgres 2026-04-08 10:58:45,439 407 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3/dist-packages/gevent/baseserver.py", line 34, in _handle_and_close_when_done return handle(*args_tuple) File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1700, in handle handler.handle() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 574, in handle result = self.handle_one_request() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 804, in handle_one_request self.handle_one_response() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1107, in handle_one_response self.run_application() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1059, in run_application close() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wsgi.py", line 466, in close callback() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wrappers/response.py", line 439, in close func() File "/data/build/odoo/addons/bus/websocket.py", line 821, in response.call_on_close(lambda: cls._serve_forever( File "/data/build/odoo/addons/bus/websocket.py", line 918, in _serve_forever req.serve_websocket_message(message) File "/data/build/odoo/addons/bus/websocket.py", line 758, in serve_websocket_message service_model.retrying( File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/addons/bus/websocket.py", line 775, in _serve_ir_websocket ir_websocket._update_bus_presence(**data) File "/data/build/odoo/addons/mail/models/ir_websocket.py", line 39, in _update_bus_presence super()._update_bus_presence(inactivity_period, im_status_ids_by_model) File "/data/build/odoo/addons/bus/models/ir_websocket.py", line 43, in _update_bus_presence self.env['bus.presence'].update( File "/data/build/odoo/addons/bus/models/bus_presence.py", line 47, in update self._update(inactivity_period=inactivity_period, identity_field=identity_field, identity_value=identity_value) File "/data/build/odoo/addons/bus/models/bus_presence.py", line 68, in _update self.create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:45,452 407 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.pending_wa_count should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3/dist-packages/gevent/baseserver.py", line 34, in _handle_and_close_when_done return handle(*args_tuple) File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1700, in handle handler.handle() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 574, in handle result = self.handle_one_request() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 804, in handle_one_request self.handle_one_response() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1107, in handle_one_response self.run_application() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1059, in run_application close() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wsgi.py", line 466, in close callback() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wrappers/response.py", line 439, in close func() File "/data/build/odoo/addons/bus/websocket.py", line 821, in response.call_on_close(lambda: cls._serve_forever( File "/data/build/odoo/addons/bus/websocket.py", line 918, in _serve_forever req.serve_websocket_message(message) File "/data/build/odoo/addons/bus/websocket.py", line 758, in serve_websocket_message service_model.retrying( File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/addons/bus/websocket.py", line 775, in _serve_ir_websocket ir_websocket._update_bus_presence(**data) File "/data/build/odoo/addons/mail/models/ir_websocket.py", line 39, in _update_bus_presence super()._update_bus_presence(inactivity_period, im_status_ids_by_model) File "/data/build/odoo/addons/bus/models/ir_websocket.py", line 43, in _update_bus_presence self.env['bus.presence'].update( File "/data/build/odoo/addons/bus/models/bus_presence.py", line 47, in update self._update(inactivity_period=inactivity_period, identity_field=identity_field, identity_value=identity_value) File "/data/build/odoo/addons/bus/models/bus_presence.py", line 68, in _update self.create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:45,454 407 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.state is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3/dist-packages/gevent/baseserver.py", line 34, in _handle_and_close_when_done return handle(*args_tuple) File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1700, in handle handler.handle() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 574, in handle result = self.handle_one_request() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 804, in handle_one_request self.handle_one_response() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1107, in handle_one_response self.run_application() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1059, in run_application close() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wsgi.py", line 466, in close callback() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wrappers/response.py", line 439, in close func() File "/data/build/odoo/addons/bus/websocket.py", line 821, in response.call_on_close(lambda: cls._serve_forever( File "/data/build/odoo/addons/bus/websocket.py", line 918, in _serve_forever req.serve_websocket_message(message) File "/data/build/odoo/addons/bus/websocket.py", line 758, in serve_websocket_message service_model.retrying( File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/addons/bus/websocket.py", line 775, in _serve_ir_websocket ir_websocket._update_bus_presence(**data) File "/data/build/odoo/addons/mail/models/ir_websocket.py", line 39, in _update_bus_presence super()._update_bus_presence(inactivity_period, im_status_ids_by_model) File "/data/build/odoo/addons/bus/models/ir_websocket.py", line 43, in _update_bus_presence self.env['bus.presence'].update( File "/data/build/odoo/addons/bus/models/bus_presence.py", line 47, in update self._update(inactivity_period=inactivity_period, identity_field=identity_field, identity_value=identity_value) File "/data/build/odoo/addons/bus/models/bus_presence.py", line 68, in _update self.create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:45,455 407 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.is_disbursed is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3/dist-packages/gevent/baseserver.py", line 34, in _handle_and_close_when_done return handle(*args_tuple) File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1700, in handle handler.handle() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 574, in handle result = self.handle_one_request() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 804, in handle_one_request self.handle_one_response() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1107, in handle_one_response self.run_application() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1059, in run_application close() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wsgi.py", line 466, in close callback() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wrappers/response.py", line 439, in close func() File "/data/build/odoo/addons/bus/websocket.py", line 821, in response.call_on_close(lambda: cls._serve_forever( File "/data/build/odoo/addons/bus/websocket.py", line 918, in _serve_forever req.serve_websocket_message(message) File "/data/build/odoo/addons/bus/websocket.py", line 758, in serve_websocket_message service_model.retrying( File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/addons/bus/websocket.py", line 775, in _serve_ir_websocket ir_websocket._update_bus_presence(**data) File "/data/build/odoo/addons/mail/models/ir_websocket.py", line 39, in _update_bus_presence super()._update_bus_presence(inactivity_period, im_status_ids_by_model) File "/data/build/odoo/addons/bus/models/ir_websocket.py", line 43, in _update_bus_presence self.env['bus.presence'].update( File "/data/build/odoo/addons/bus/models/bus_presence.py", line 47, in update self._update(inactivity_period=inactivity_period, identity_field=identity_field, identity_value=identity_value) File "/data/build/odoo/addons/bus/models/bus_presence.py", line 68, in _update self.create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:45,457 407 WARNING 10282-16-0-without_demo py.warnings: /data/build/odoo/odoo/fields.py:809: UserWarning: Field 'purchase.order.wa_ids' in dependency of purchase.order.wa_fines_total should be searchable. This is necessary to determine which records to recompute when work.acceptance.fines_total is modified. You should either make the field searchable, or simplify the field dependency. File "/usr/lib/python3/dist-packages/gevent/baseserver.py", line 34, in _handle_and_close_when_done return handle(*args_tuple) File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1700, in handle handler.handle() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 574, in handle result = self.handle_one_request() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 804, in handle_one_request self.handle_one_response() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1107, in handle_one_response self.run_application() File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1059, in run_application close() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wsgi.py", line 466, in close callback() File "/home/runbot/.local/lib/python3.12/site-packages/werkzeug/wrappers/response.py", line 439, in close func() File "/data/build/odoo/addons/bus/websocket.py", line 821, in response.call_on_close(lambda: cls._serve_forever( File "/data/build/odoo/addons/bus/websocket.py", line 918, in _serve_forever req.serve_websocket_message(message) File "/data/build/odoo/addons/bus/websocket.py", line 758, in serve_websocket_message service_model.retrying( File "/data/build/odoo/odoo/service/model.py", line 152, in retrying result = func() File "/data/build/odoo/addons/bus/websocket.py", line 775, in _serve_ir_websocket ir_websocket._update_bus_presence(**data) File "/data/build/odoo/addons/mail/models/ir_websocket.py", line 39, in _update_bus_presence super()._update_bus_presence(inactivity_period, im_status_ids_by_model) File "/data/build/odoo/addons/bus/models/ir_websocket.py", line 43, in _update_bus_presence self.env['bus.presence'].update( File "/data/build/odoo/addons/bus/models/bus_presence.py", line 47, in update self._update(inactivity_period=inactivity_period, identity_field=identity_field, identity_value=identity_value) File "/data/build/odoo/addons/bus/models/bus_presence.py", line 68, in _update self.create(values) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi return create(self, [arg]) File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create recs = super().create(vals_list) File "", line 2, in create File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi return create(self, arg) File "/data/build/odoo/odoo/models.py", line 4019, in create records = self._create(data_list) File "/data/build/odoo/odoo/models.py", line 4250, in _create records.modified(self._fields, create=True) File "/data/build/odoo/odoo/models.py", line 6165, in modified todo = [self._modified([self._fields[fname] for fname in fnames], create)] File "/data/build/odoo/odoo/models.py", line 6216, in _modified tree = self.pool.get_trigger_tree(fields, select=select) File "/data/build/odoo/odoo/modules/registry.py", line 345, in get_trigger_tree if field in self._field_triggers File "/data/build/odoo/odoo/tools/func.py", line 28, in __get__ value = self.fget(obj) File "/data/build/odoo/odoo/modules/registry.py", line 439, in _field_triggers dependencies = list(field.resolve_depends(self)) File "/data/build/odoo/odoo/fields.py", line 809, in resolve_depends warnings.warn( 2026-04-08 10:58:48,708 408 INFO 10282-16-0-without_demo odoo.modules.registry: Invalidating all model caches after database signaling. 2026-04-08 10:58:48,716 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 10:58:48,724 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 11:02:57,491 407 INFO 10282-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-08 11:02:57] "GET /websocket HTTP/1.0" 101 417 259.295448 2026-04-08 11:04:29,580 407 INFO 10282-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-08 11:04:29] "GET /websocket HTTP/1.0" 101 417 90.031735 2026-04-08 11:07:48,836 407 INFO 10282-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-08 11:07:48] "GET /websocket HTTP/1.0" 101 417 85.517382 2026-04-08 11:08:06,315 407 INFO 10282-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-08 11:08:06] "GET /websocket HTTP/1.0" 101 417 18.268101 2026-04-08 11:09:02,298 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 11:09:02,307 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 11:09:36,335 407 INFO 10282-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-08 11:09:36] "GET /websocket HTTP/1.0" 101 417 90.037278 2026-04-08 11:19:15,964 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 11:19:15,974 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 11:28:21,418 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-08 11:28:21,426 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-08 11:28:21,437 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-08 11:28:21,444 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-08 11:29:29,636 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Digest Emails`. 2026-04-08 11:29:32,285 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Digest Emails` done. 2026-04-08 11:29:32,304 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 11:29:32,313 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 11:29:32,325 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-08 11:29:32,332 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-08 11:29:32,343 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-08 11:29:32,349 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-08 11:29:32,361 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-08 11:29:32,370 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-08 11:34:04,976 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-08 11:34:04,987 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-08 11:38:37,720 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 11:38:37,728 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 11:48:51,272 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 11:48:51,279 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 11:59:04,810 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 11:59:04,817 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 12:09:18,461 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 12:09:18,465 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 12:19:32,066 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 12:19:32,073 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 12:28:37,516 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Update user roles`. 2026-04-08 12:28:37,521 408 INFO 10282-16-0-without_demo root: Update user roles 2026-04-08 12:28:37,523 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Update user roles` done. 2026-04-08 12:28:37,533 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-08 12:28:37,554 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-08 12:28:37,560 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-08 12:28:37,563 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-08 12:28:37,568 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-08 12:28:37,570 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-08 12:28:37,576 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 12:28:37,578 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 12:28:37,583 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-08 12:28:37,586 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-08 12:28:37,592 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-08 12:28:37,595 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-08 12:34:18,506 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-08 12:34:18,513 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-08 12:38:51,243 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 12:38:51,249 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 12:49:04,804 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 12:49:04,811 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 12:59:18,469 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 12:59:18,481 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 13:09:31,857 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 13:09:31,869 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 13:18:37,285 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 13:18:37,296 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 13:24:23,552 407 INFO 10282-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-08 13:24:23] "GET /websocket HTTP/1.0" 101 417 5399.415893 2026-04-08 13:28:50,777 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-08 13:28:50,790 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-08 13:28:50,801 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-08 13:28:50,807 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-08 13:28:50,818 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 13:28:50,825 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 13:28:50,836 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-08 13:28:50,842 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-08 13:28:50,853 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-08 13:28:50,859 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-08 13:28:50,869 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-08 13:28:50,875 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-08 13:33:23,610 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-08 13:33:23,619 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-08 13:39:04,447 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 13:39:04,452 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 13:49:17,930 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 13:49:17,938 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 13:59:31,469 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 13:59:31,473 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 14:08:36,871 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 14:08:36,877 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 14:18:50,434 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 14:18:50,441 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 14:28:53,443 407 INFO 10282-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-08 14:28:53] "GET /websocket HTTP/1.0" 101 417 3868.554703 2026-04-08 14:29:03,983 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Mail: Email Queue Manager`. 2026-04-08 14:29:03,991 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Mail: Email Queue Manager` done. 2026-04-08 14:29:04,038 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Notification: Send scheduled message notifications`. 2026-04-08 14:29:04,044 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Notification: Send scheduled message notifications` done. 2026-04-08 14:29:04,062 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 14:29:04,068 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 14:29:04,076 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `SMS: SMS Queue Manager`. 2026-04-08 14:29:04,081 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `SMS: SMS Queue Manager` done. 2026-04-08 14:29:04,088 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Partner Autocomplete : Sync with remote DB`. 2026-04-08 14:29:04,092 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Partner Autocomplete : Sync with remote DB` done. 2026-04-08 14:29:04,101 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Snailmail: process letters queue`. 2026-04-08 14:29:04,107 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Snailmail: process letters queue` done. 2026-04-08 14:33:36,806 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `Automatic Tier Validation`. 2026-04-08 14:33:36,812 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `Automatic Tier Validation` done. 2026-04-08 14:33:55,557 404 INFO ? werkzeug: 10.72.0.104 - - [08/Apr/2026 14:33:55] "GET /web/static/lib/odoo_ui_icons/fonts/odoo_ui_icons.woff2 HTTP/1.0" 200 - 0 0.000 0.007 2026-04-08 14:33:55,560 406 INFO ? werkzeug: 10.72.0.104 - - [08/Apr/2026 14:33:55] "GET /base_fontawesome/static/lib/fontawesome-6.5.1/webfonts/fa-regular-400.woff2 HTTP/1.0" 200 - 0 0.000 0.007 2026-04-08 14:33:55,577 406 INFO ? werkzeug: 10.72.0.104 - - [08/Apr/2026 14:33:55] "GET /base_fontawesome/static/lib/fontawesome-6.5.1/webfonts/fa-brands-400.woff2 HTTP/1.0" 200 - 0 0.000 0.003 2026-04-08 14:33:55,579 404 INFO ? odoo.modules.registry: Invalidating all model caches after database signaling. 2026-04-08 14:33:55,590 404 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_http: Generating routing map for key 1 2026-04-08 14:33:55,677 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:33:55] "POST /web/action/load HTTP/1.0" 200 - 19 0.076 0.022 2026-04-08 14:33:55,708 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:33:55] "GET /web/image/res.company/1/favicon HTTP/1.0" 200 - 12 0.008 0.021 2026-04-08 14:33:55,711 406 INFO ? werkzeug: 10.72.0.104 - - [08/Apr/2026 14:33:55] "GET /mail/static/src/audio/ting.ogg HTTP/1.0" 206 - 0 0.000 0.002 2026-04-08 14:33:55,730 406 INFO ? werkzeug: 10.72.0.104 - - [08/Apr/2026 14:33:55] "GET /agx_sarabun/static/src/audio/ting.ogg HTTP/1.0" 206 - 0 0.000 0.013 2026-04-08 14:33:55,758 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:33:55] "GET /web/image?model=res.users&field=avatar_128&id=2 HTTP/1.0" 200 - 16 0.009 0.018 2026-04-08 14:33:55,770 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:33:55] "POST /mail/inbox/messages HTTP/1.0" 200 - 8 0.006 0.005 2026-04-08 14:33:55,781 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:33:55] "GET /web/image/res.company/1/favicon HTTP/1.0" 304 - 5 0.002 0.008 2026-04-08 14:33:55,801 406 INFO ? werkzeug: 10.72.0.104 - - [08/Apr/2026 14:33:55] "GET /base_fontawesome/static/lib/fontawesome-6.5.1/webfonts/fa-solid-900.woff2 HTTP/1.0" 200 - 0 0.000 0.003 2026-04-08 14:33:56,236 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:33:56] "POST /web/dataset/call_kw/web.environment.ribbon.backend/get_environment_ribbon HTTP/1.0" 200 - 16 0.020 0.641 2026-04-08 14:35:12,108 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:35:12] "GET /web/image/mail.channel/1/avatar_128?unique=9628eb3132573aa7eef5a42554a78273e46eb5ce42f2511f86553847288b119828aad573060994d74566d7b5ebaffac09c9e30d888736dcb4835c7f1950b68de HTTP/1.0" 200 - 11 0.013 0.018 2026-04-08 14:35:12,117 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:35:12] "GET /web/image/res.partner/2/avatar_128 HTTP/1.0" 200 - 7 0.006 0.032 2026-04-08 14:35:14,459 406 INFO ? werkzeug: 10.72.0.104 - - [08/Apr/2026 14:35:14] "GET /web_responsive/static/src/img/home-menu-bg-overlay.svg HTTP/1.0" 200 - 0 0.000 0.023 2026-04-08 14:35:16,174 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:35:16] "POST /web/action/load HTTP/1.0" 200 - 14 0.014 0.575 2026-04-08 14:35:16,359 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:35:16] "POST /web/dataset/call_kw/budget.appropriation/get_views HTTP/1.0" 200 - 42 0.042 0.091 2026-04-08 14:35:16,592 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:35:16] "POST /web/dataset/call_kw/budget.appropriation/search_panel_select_range HTTP/1.0" 200 - 11 0.027 0.014 2026-04-08 14:35:16,601 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:35:16] "POST /web/dataset/call_kw/budget.appropriation/search_panel_select_range HTTP/1.0" 200 - 16 0.030 0.019 2026-04-08 14:35:16,658 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:35:16] "POST /web/dataset/call_kw/budget.appropriation/web_search_read HTTP/1.0" 200 - 10 0.008 0.014 2026-04-08 14:35:16,659 406 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:35:16] "POST /web/dataset/call_kw/budget.appropriation/search_panel_select_range HTTP/1.0" 200 - 9 0.010 0.015 2026-04-08 14:35:16,662 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:35:16] "POST /web/dataset/call_kw/res.users/has_group HTTP/1.0" 200 - 2 0.001 0.003 2026-04-08 14:35:16,793 404 INFO 10282-16-0-without_demo werkzeug: 10.72.0.104 - - [08/Apr/2026 14:35:16] "GET /web/image/res.users/1/avatar_128 HTTP/1.0" 200 - 18 0.019 0.025 2026-04-08 14:35:36,898 407 INFO 10282-16-0-without_demo longpolling: 10.72.0.104 - - [2026-04-08 14:35:36] "GET /websocket HTTP/1.0" 101 417 402.530876 2026-04-08 14:39:17,638 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 14:39:17,644 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 14:49:31,257 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 14:49:31,268 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done. 2026-04-08 14:58:36,659 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Starting job `payment: post-process transactions`. 2026-04-08 14:58:36,673 408 INFO 10282-16-0-without_demo odoo.addons.base.models.ir_cron: Job `payment: post-process transactions` done.