intersystems / ipm

InterSystems ObjectScript Package Manager
MIT License
29 stars 19 forks source link

Installation of 3rd party library `telegram-gpt` causes <NOTOPEN> when calling $zf in DetectPipCaller() #547

Closed isc-shuliu closed 2 months ago

isc-shuliu commented 2 months ago

When installing telegram-gpt, it installs several dependencies including a iris-openai. Somehow when installing this dependency, $zf(-100) throws a error. Not sure how it happened. My guess is that because the log file for stdout and stderr are hardcoded, this somehow triggered a lock-ish issue?

Changing $zf(-100) to ##class(%IPM.Utils.Module).RunCommand() seems to resolve the issue on my machine, but needs further verification on windows.

Installation log collapsed. Click to see details ``` zpm:INTEROP>install telegram-gpt -verbose Module telegram-gpt was downloaded from registry (https://pm.community.intersystems.com) Loading from /opt/zpm07/mgr/.modules/INTEROP/telegram-gpt/0.3.2/ Load started on 08/20/2024 11:18:39 Loading file /opt/zpm07/mgr/.modules/INTEROP/telegram-gpt/0.3.2/module.xml as xml Imported document: telegram-gpt.ZPM Load finished successfully. Dependencies: iris-openai 1.2.0 @ registry objectscript-json-trace-viewer 1.0.1 @ registry production-settings 1.0.4 @ registry sslclient 1.0.4 (installed) telegram-adapter 1.1.2 @ registry Module production-settings was downloaded from registry (https://pm.community.intersystems.com) Loading from /opt/zpm07/mgr/.modules/INTEROP/production-settings/1.0.4/ Load started on 08/20/2024 11:18:43 Loading file /opt/zpm07/mgr/.modules/INTEROP/production-settings/1.0.4/module.xml as xml Imported document: production-settings.ZPM Load finished successfully. Skipping preload - directory does not exist. Load started on 08/20/2024 11:18:43 Loading file /opt/zpm07/mgr/.modules/INTEROP/production-settings/1.0.4/module.xml as xml Imported document: production-settings.ZPM Load finished successfully. Loading production-settings in process 97771 [INTEROP|production-settings] Reload START (/opt/zpm07/mgr/.modules/INTEROP/production-settings/1.0.4/) [INTEROP|production-settings] requirements.txt START Detecting pip caller Attempting to find flexible python... Attempting to find python3 or python... [INTEROP|production-settings] requirements.txt FAILURE [production-settings] Reload FAILURE Module objectscript-json-trace-viewer was downloaded from registry (https://pm.community.intersystems.com) Loading from /opt/zpm07/mgr/.modules/INTEROP/objectscript-json-trace-viewer/1.0.1/ Load started on 08/20/2024 11:18:43 Loading file /opt/zpm07/mgr/.modules/INTEROP/objectscript-json-trace-viewer/1.0.1/module.xml as xml Imported document: objectscript-json-trace-viewer.ZPM Load finished successfully. Skipping preload - directory does not exist. Load started on 08/20/2024 11:18:43 Loading file /opt/zpm07/mgr/.modules/INTEROP/objectscript-json-trace-viewer/1.0.1/module.xml as xml Imported document: objectscript-json-trace-viewer.ZPM Load finished successfully. Loading objectscript-json-trace-viewer in process 97769 [INTEROP|objectscript-json-trace-viewer] Reload START (/opt/zpm07/mgr/.modules/INTEROP/objectscript-json-trace-viewer/1.0.1/) Skipping preload - directory does not exist. Load of directory started on 08/20/2024 11:18:43 '*' Loading file /opt/zpm07/mgr/.modules/INTEROP/objectscript-json-trace-viewer/1.0.1/src/cls/Grongier/JsonTraceViewer/Message.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/objectscript-json-trace-viewer/1.0.1/src/cls/Grongier/JsonTraceViewer/Request.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/objectscript-json-trace-viewer/1.0.1/src/cls/Grongier/JsonTraceViewer/Response.cls as udl Load finished successfully. [INTEROP|objectscript-json-trace-viewer] Reload SUCCESS [objectscript-json-trace-viewer] Module object refreshed. [INTEROP|objectscript-json-trace-viewer] Validate START [INTEROP|objectscript-json-trace-viewer] Validate SUCCESS [INTEROP|objectscript-json-trace-viewer] Compile START Compilation started on 08/20/2024 11:18:43 with qualifiers 'd-lck' Compiling 3 classes Compiling class Grongier.JsonTraceViewer.Message Compiling class Grongier.JsonTraceViewer.Request Compiling class Grongier.JsonTraceViewer.Response Compiling table Grongier_JsonTraceViewer.Message Compiling table Grongier_JsonTraceViewer.Request Compiling table Grongier_JsonTraceViewer.Response Compiling routine Grongier.JsonTraceViewer.Message.1 Compiling routine Grongier.JsonTraceViewer.Request.1 Compiling routine Grongier.JsonTraceViewer.Response.1 Compilation finished successfully in 0.129s. [INTEROP|objectscript-json-trace-viewer] Compile SUCCESS [INTEROP|objectscript-json-trace-viewer] Activate START [INTEROP|objectscript-json-trace-viewer] Configure START [INTEROP|objectscript-json-trace-viewer] Configure SUCCESS [INTEROP|objectscript-json-trace-viewer] Activate SUCCESS Module telegram-adapter was downloaded from registry (https://pm.community.intersystems.com) Loading from /opt/zpm07/mgr/.modules/INTEROP/telegram-adapter/1.1.2/ Load started on 08/20/2024 11:18:44 Loading file /opt/zpm07/mgr/.modules/INTEROP/telegram-adapter/1.1.2/module.xml as xml Imported document: telegram-adapter.ZPM Load finished successfully. Skipping preload - directory does not exist. Load started on 08/20/2024 11:18:44 Loading file /opt/zpm07/mgr/.modules/INTEROP/telegram-adapter/1.1.2/module.xml as xml Imported document: telegram-adapter.ZPM Load finished successfully. Loading telegram-adapter in process 97771 [INTEROP|telegram-adapter] Reload START (/opt/zpm07/mgr/.modules/INTEROP/telegram-adapter/1.1.2/) Skipping preload - directory does not exist. Load of directory started on 08/20/2024 11:18:44 '*' Loading file /opt/zpm07/mgr/.modules/INTEROP/telegram-adapter/1.1.2/src/Telegram/API.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/telegram-adapter/1.1.2/src/Telegram/BusinessOperation.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/telegram-adapter/1.1.2/src/Telegram/InboundAdapter.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/telegram-adapter/1.1.2/src/Telegram/JSONContainer.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/telegram-adapter/1.1.2/src/Telegram/LongPollingService.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/telegram-adapter/1.1.2/src/Telegram/OutboundAdapter.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/telegram-adapter/1.1.2/src/Telegram/Request.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/telegram-adapter/1.1.2/src/Telegram/WebHook.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/telegram-adapter/1.1.2/src/Telegram/WebHookService.cls as udl Load finished successfully. [INTEROP|telegram-adapter] Reload SUCCESS [telegram-adapter] Module object refreshed. [INTEROP|telegram-adapter] Validate START [INTEROP|telegram-adapter] Validate SUCCESS [INTEROP|telegram-adapter] Compile START Dependencies: objectscript-json-trace-viewer 1.0.1 (installed) sslclient 1.0.4 (installed) Compilation started on 08/20/2024 11:18:44 with qualifiers 'd-lck' Compiling 9 classes Compiling class Telegram.API Compiling class Telegram.BusinessOperation Compiling class Telegram.InboundAdapter Compiling class Telegram.JSONContainer Compiling class Telegram.LongPollingService Compiling class Telegram.OutboundAdapter Compiling class Telegram.Request Compiling class Telegram.WebHook Compiling class Telegram.WebHookService Compiling table Telegram.JSONContainer Compiling table Telegram.Request Compiling routine Telegram.API.1 Compiling routine Telegram.BusinessOperation.1 Compiling routine Telegram.InboundAdapter.1 Compiling routine Telegram.JSONContainer.1 Compiling routine Telegram.LongPollingService.1 Compiling routine Telegram.OutboundAdapter.1 Compiling routine Telegram.Request.1 Compiling routine Telegram.WebHook.1 Compiling routine Telegram.WebHookService.1 Compilation finished successfully in 0.281s. [INTEROP|telegram-adapter] Compile SUCCESS [INTEROP|telegram-adapter] Activate START [INTEROP|telegram-adapter] Configure START Creating Web Application /tg AutheEnabled: 64 AuthenticationMethods: AutoCompile: 1 CSPZENEnabled: 1 ChangePasswordPage: CookiePath: /tg/ DeepSeeEnabled: 0 Description: DispatchClass: Telegram.WebHook Enabled: 1 ErrorPage: EventClass: GroupById: HyperEvent: 0 InbndWebServicesEnabled: 1 IsNameSpaceDefault: 0 LockCSPName: 1 LoginPage: LoginTokenEnabled: 0 MatchRoles: :%All NameSpace: INTEROP Package: Path: PermittedClasses: Recurse: 1 Resource: ServeFiles: 2 ServeFilesTimeout: 3600 SuperClass: Timeout: 900 TwoFactorEnabled: 0 Type: 2 UseCookies: 2 iKnowEnabled: 0 Done. [INTEROP|telegram-adapter] Configure SUCCESS [INTEROP|telegram-adapter] Activate SUCCESS Module iris-openai was downloaded from registry (https://pm.community.intersystems.com) Loading from /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/ Load started on 08/20/2024 11:18:44 Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/module.xml as xml Imported document: iris-openai.ZPM Load finished successfully. Skipping preload - directory does not exist. Load started on 08/20/2024 11:18:44 Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/module.xml as xml Imported document: iris-openai.ZPM Load finished successfully. Loading iris-openai in process 97770 [INTEROP|iris-openai] Reload START (/opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/) Skipping preload - directory does not exist. Load of directory started on 08/20/2024 11:18:44 '*' Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/OpenAi.inc as udl St.OpenAi.OpenAi.INC Loaded Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/B64/Util.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/BO/Api/Base.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/BO/Api/Connect.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Api/CallApi.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Api/CallApiStream.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Api/Response.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Audio/AudioRequest.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Audio/AudioResponse.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Audio/AudioSegments.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Audio/SpeachRequest.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Audio/SpeachResponse.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Base/Usage.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Chat/ChatChoice.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Chat/ChatMessage.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Chat/ChatRequest.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Chat/ChatResponse.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Chat/ChatUsage.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Images/ImagesData.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Images/ImagesRequest.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Images/ImagesResponse.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Model/ListModelRequest.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Model/ListModelResponse.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Model/Model.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Model/ModelRequest.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Model/ModelResponse.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Model/Permissions.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Moderation/Category.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Moderation/CategoryScore.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Moderation/ModerationRequest.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Moderation/ModerationResponse.cls as udl Loading file /opt/zpm07/mgr/.modules/INTEROP/iris-openai/1.2.0/src/St/OpenAi/Msg/Moderation/Result.cls as udl Load finished successfully. [INTEROP|iris-openai] Reload SUCCESS [iris-openai] Module object refreshed. [INTEROP|iris-openai] Validate START [INTEROP|iris-openai] Validate SUCCESS [INTEROP|iris-openai] Compile START Compilation started on 08/20/2024 11:18:45 with qualifiers 'd-lck' Compiling 31 classes Compiling class St.OpenAi.B64.Util Compiling class St.OpenAi.BO.Api.Base Compiling class St.OpenAi.Msg.Api.CallApi Compiling class St.OpenAi.Msg.Api.CallApiStream Compiling class St.OpenAi.Msg.Api.Response Compiling class St.OpenAi.Msg.Audio.AudioRequest Compiling class St.OpenAi.Msg.Audio.AudioSegments Compiling class St.OpenAi.Msg.Audio.SpeachRequest Compiling class St.OpenAi.Msg.Base.Usage Compiling class St.OpenAi.Msg.Chat.ChatMessage Compiling class St.OpenAi.Msg.Images.ImagesData Compiling class St.OpenAi.Msg.Images.ImagesRequest Compiling class St.OpenAi.Msg.Model.ListModelRequest Compiling class St.OpenAi.Msg.Model.ModelRequest Compiling class St.OpenAi.Msg.Model.Permissions Compiling class St.OpenAi.Msg.Moderation.Category Compiling class St.OpenAi.Msg.Moderation.CategoryScore Compiling class St.OpenAi.Msg.Moderation.ModerationRequest Compiling class St.OpenAi.BO.Api.Connect Compiling class St.OpenAi.Msg.Audio.AudioResponse Compiling class St.OpenAi.Msg.Audio.SpeachResponse Compiling class St.OpenAi.Msg.Chat.ChatChoice Compiling class St.OpenAi.Msg.Chat.ChatRequest Compiling class St.OpenAi.Msg.Chat.ChatUsage Compiling class St.OpenAi.Msg.Images.ImagesResponse Compiling class St.OpenAi.Msg.Model.Model Compiling class St.OpenAi.Msg.Moderation.Result Compiling class St.OpenAi.Msg.Chat.ChatResponse Compiling class St.OpenAi.Msg.Model.ListModelResponse Compiling class St.OpenAi.Msg.Model.ModelResponse Compiling class St.OpenAi.Msg.Moderation.ModerationResponse Compiling table St_OpenAi_Msg_Api.Response Compiling table St_OpenAi_Msg_Audio.AudioRequest Compiling table St_OpenAi_Msg_Audio.AudioResponse Compiling table St_OpenAi_Msg_Audio.SpeachRequest Compiling table St_OpenAi_Msg_Audio.SpeachResponse Compiling table St_OpenAi_Msg_Chat.ChatRequest Compiling table St_OpenAi_Msg_Chat.ChatResponse Compiling table St_OpenAi_Msg_Images.ImagesRequest Compiling table St_OpenAi_Msg_Images.ImagesResponse Compiling table St_OpenAi_Msg_Model.ListModelRequest Compiling table St_OpenAi_Msg_Model.ListModelResponse Compiling table St_OpenAi_Msg_Model.ModelRequest Compiling table St_OpenAi_Msg_Model.ModelResponse Compiling table St_OpenAi_Msg_Moderation.ModerationRequest Compiling table St_OpenAi_Msg_Moderation.ModerationResponse Compiling routine St.OpenAi.B64.Util.1 Compiling routine St.OpenAi.BO.Api.Base.1 Compiling routine St.OpenAi.Msg.Api.CallApi.1 Compiling routine St.OpenAi.Msg.Api.CallApiStream.1 Compiling routine St.OpenAi.Msg.Api.Response.1 Compiling routine St.OpenAi.Msg.Audio.AudioRequest.1 Compiling routine St.OpenAi.Msg.Audio.AudioSegments.1 Compiling routine St.OpenAi.Msg.Audio.SpeachRequest.1 Compiling routine St.OpenAi.Msg.Base.Usage.1 Compiling routine St.OpenAi.Msg.Chat.ChatMessage.1 Compiling routine St.OpenAi.Msg.Images.ImagesData.1 Compiling routine St.OpenAi.Msg.Images.ImagesRequest.1 Compiling routine St.OpenAi.Msg.Model.ListModelRequest.1 Compiling routine St.OpenAi.Msg.Model.ModelRequest.1 Compiling routine St.OpenAi.Msg.Model.Permissions.1 Compiling routine St.OpenAi.Msg.Moderation.Category.1 Compiling routine St.OpenAi.Msg.Moderation.CategoryScore.1 Compiling routine St.OpenAi.Msg.Moderation.ModerationRequest.1 Compiling routine St.OpenAi.BO.Api.Connect.1 Compiling routine St.OpenAi.Msg.Audio.AudioResponse.1 Compiling routine St.OpenAi.Msg.Audio.SpeachResponse.1 Compiling routine St.OpenAi.Msg.Chat.ChatChoice.1 Compiling routine St.OpenAi.Msg.Chat.ChatRequest.1 Compiling routine St.OpenAi.Msg.Chat.ChatUsage.1 Compiling routine St.OpenAi.Msg.Images.ImagesResponse.1 Compiling routine St.OpenAi.Msg.Model.Model.1 Compiling routine St.OpenAi.Msg.Moderation.Result.1 Compiling routine St.OpenAi.Msg.Chat.ChatResponse.1 Compiling routine St.OpenAi.Msg.Model.ListModelResponse.1 Compiling routine St.OpenAi.Msg.Model.ModelResponse.1 Compiling routine St.OpenAi.Msg.Moderation.ModerationResponse.1 Compilation finished successfully in 1.210s. [INTEROP|iris-openai] Compile SUCCESS [INTEROP|iris-openai] Activate START [INTEROP|iris-openai] Configure START [INTEROP|iris-openai] Configure SUCCESS [INTEROP|iris-openai] Activate SUCCESS ERROR! ObjectScript error: DetectPipCaller+62^%ZPM.PackageManager.Developer.Lifecycle.Base.1 zpm:INTEROP> ```
isc-tleavitt commented 2 months ago

@isc-shuliu it would be reasonable to use temp files for the output and error log

isc-tleavitt commented 2 months ago

Fixed under #543 (master) and #538 (v1)