Skip to content

Improve reporting of <NOTOPEN> errors on git executable to point to actual solutions #462

Description

@isc-tleavitt
No description provided.

Activity

  1. added
    enhancementNew feature or request
    customerBased on customer feedback (as opposed to something identified by developers)
    on Aug 21, 2024
  2. cambot commented on May 16, 2025

    @cambot
    Contributor

    I just encountered one of these exceptions while running the configure script:

    ERROR #5002: ObjectScript error: <NOTOPEN>RunGitCommandWithInput+151^SourceControl.Git.Utils.1
    

    Here is the stack from %objlasterror:

    RunGitCommandWithInput+151^SourceControl.Git.Utils.1 +10
    RunGitCommand+1^SourceControl.Git.Utils.1 +11
    RunGitWithArgs+5^SourceControl.Git.Utils.1 +1(
    Clone+3^SourceControl.Git.Utils.1 +X^@ +1'D^
    processwork+90^%SYS.WorkQueueMgr +1'D^
    processwork+87^%SYS.WorkQueueMgr +1&D^
    startWork+155^%SYS.WorkQueueMgr +1
    

    That line of code appears to be coming from a catch block:

    try {
        // Inject instance manager directory as global git config home directory
        // On Linux, this avoids trying to use /root/.config/git/attributes for global git config
        set env("XDG_CONFIG_HOME") = ##class(%Library.File).ManagerDirectory()
        set returnCode = $zf(-100,"/ENV=env... "_baseArgs,gitCommand,newArgs...)
    } catch e {
        if ($zversion(1)=2) {
            set returnCode = $zf(-100,baseArgs,gitCommand,newArgs...)     //   <<<< RunGitCommandWithInput+151
        } else {
            // If can't inject XDG_CONFIG_HOME (older IRIS version), need /SHELL on Linux to avoid permissions errors trying to use root's config
            set returnCode = $zf(-100,"/SHELL "_baseArgs,gitCommand,newArgs...)
        }
    }
    

    if $zf throws an error here, there are no other try-catch blocks to intercept this and the whole setup script terminates.


    System details

    • git-source-control: v2.11.0
    • $zv: IRIS for Windows (x86-64) 2023.1.5 (Build 697U) Thu Oct 3 2024 13:47:51 EDT
  3. isc-pbarton commented on May 16, 2025

    @isc-pbarton
    Collaborator

    For future reference, a couple things that can lead to this error:

    • The git executable is not found on the PATH for the IRIS operating user, and an absolute path to git executable is not provided through the Configure prompt.
    • Permissions issues where the IRIS operating user doesn't have ownership of the Git repo root directory

    Related issue: #673

    And we definitely need to improve the error handling here. As part of that, we will make sure these errors get properly logged to the SourceControl_Git.Log table.

  4. cambot commented on May 16, 2025

    @cambot
    Contributor

    I think that my issue is that the configure script is not getting the path to the git executable. I did not notice that it wasn't picking it up from the path (because it was installed under my user app directory, not for all users). I will open a separate issue for this specific cause.

  5. cambot commented on May 16, 2025

    @cambot
    Contributor

    Whatever you do, consider highlighting the error in a "Troubleshooting" section in your readme docs: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_fzf-100#RCOS_fzf-100_error_handling

  6. syonip commented on Feb 2, 2026

    @syonip
    Contributor

    Also hitting the error when running the Configure script. How can I debug this?

  7. syonip commented on Feb 9, 2026

    @syonip
    Contributor

    In my case the solution was to add "Replace a process level token" permissions for the user running intersystems. I know it's unrelated to the script but might help someone

  8. added a commit that references this issue on Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    customerBased on customer feedback (as opposed to something identified by developers)usability

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions