{
  "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowRun",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "jenkins.branch.BranchEventCause",
          "shortDescription" : "Pull request #16026 updated"
        }
      ]
    },
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.BooleanParameterValue",
          "name" : "BUILD_MSYS2_UCRT64",
          "value" : false
        },
        {
          "_class" : "hudson.model.BooleanParameterValue",
          "name" : "BUILD_ALPINE",
          "value" : false
        },
        {
          "_class" : "hudson.model.BooleanParameterValue",
          "name" : "DISABLE_ALL_CMAKE_BUILDS",
          "value" : false
        },
        {
          "_class" : "hudson.model.BooleanParameterValue",
          "name" : "ENABLE_MSYS2_UCRT64_CMAKE_BUILD",
          "value" : false
        },
        {
          "_class" : "hudson.model.BooleanParameterValue",
          "name" : "ENABLE_MACOS_CMAKE_BUILD",
          "value" : false
        },
        {
          "_class" : "hudson.model.BooleanParameterValue",
          "name" : "ENABLE_RUST_PARTEST",
          "value" : false
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "RUST_PARTEST_SIMCODETARGET",
          "value" : "wasm-jit"
        }
      ]
    },
    {
      "_class" : "jenkins.scm.api.SCMRevisionAction"
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.libs.LibrariesAction"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "PR-16026" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 4,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "829e91122a5a5c5af0924c632a64a193afab2131",
            "branch" : [
              {
                "SHA1" : "829e91122a5a5c5af0924c632a64a193afab2131",
                "name" : "PR-16026"
              }
            ]
          },
          "revision" : {
            "SHA1" : "829e91122a5a5c5af0924c632a64a193afab2131",
            "branch" : [
              {
                "SHA1" : "829e91122a5a5c5af0924c632a64a193afab2131",
                "name" : "PR-16026"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "829e91122a5a5c5af0924c632a64a193afab2131",
        "branch" : [
          {
            "SHA1" : "829e91122a5a5c5af0924c632a64a193afab2131",
            "name" : "PR-16026"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/OpenModelica/OpenModelica.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.cps.EnvActionImpl"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    },
    {
      "_class" : "org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.job.views.FlowGraphAction"
    },
    {
      
    },
    {
      
    },
    {
      
    }
  ],
  "artifacts" : [
    
  ],
  "building" : false,
  "description" : null,
  "displayName" : "#4",
  "duration" : 998451,
  "estimatedDuration" : 4000538,
  "executor" : null,
  "fullDisplayName" : "OpenModelica » OMCompiler: Avoid unnecessary full initialization (#16026) #4",
  "id" : "4",
  "keepLog" : false,
  "number" : 4,
  "queueId" : 206425,
  "result" : "FAILURE",
  "timestamp" : 1783764460434,
  "url" : "https://test.openmodelica.org/jenkins/job/OpenModelica/view/change-requests/job/PR-16026/4/",
  "changeSets" : [
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "testsuite/simulation/modelica/NBackend/ModelicaTest/ModelicaTest.Media.TestOnly.FlueGas.mos",
            "OMCompiler/Compiler/Template/CodegenC.tpl",
            "OMCompiler/Compiler/NBackEnd/Classes/NBEquation.mo",
            "OMCompiler/Compiler/NBackEnd/Modules/2_Pre/NBInline.mo",
            "OMCompiler/Compiler/NBackEnd/Classes/NBackendDAE.mo",
            "testsuite/simulation/modelica/NBackend/ModelicaTest/ReferenceFiles/ModelicaTest.Media.TestOnly.FlueGas_res.mat"
          ],
          "commitId" : "324c3bf3be874f4cc8ea778387b63a6ebb5cd9d5",
          "timestamp" : 1783718086000,
          "author" : {
            "absoluteUrl" : "https://test.openmodelica.org/jenkins/user/38032125+kabdelhak",
            "fullName" : "38032125+kabdelhak"
          },
          "authorEmail" : "38032125+kabdelhak@users.noreply.github.com",
          "comment" : "    [NB] Fix FlueGas regressions from #15045 (resizable sparsity pattern) (#16036)\u000a\u000a* [NB,C] Fix SLICE subscripts in resizable Jacobian sparsity templates\u000a\u000aAdd case {SLICE(exp=sliceExp)} to resizableSparsityRowCount and\u000aresizableFillDepsForRow in CodegenC.tpl, mirroring the existing SLICE\u000ahandling already present in resizableColCount. Without this, NBackend\u000aJacobian sparsity for array variables like $pDER_ODE_JAC.$DER.medium2.X[{1,2,3,4}]\u000afell to the else branch and called indexSubRecursive with a SLICE\u000asubscript, which only handles INDEX().\u000a\u000aAlso adds the cross-backend test for ModelicaTest.Media.TestOnly.FlueGas\u000awith a committed reference file from the old backend.\u000a\u000aCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\u000a\u000a* [NB] Fix FlueGas regressions from #15045 (resizable sparsity pattern)\u000a\u000aThree fixes to make ModelicaTest.Media.TestOnly.FlueGas compile with\u000a--newBackend:\u000a\u000a1. NBackendDAE.mo: propagate `complete` flag through lowerInstNode so\u000a   that iterator variables like `j` are lowered via lowerComponentReference\u000a   (fixes: Variable not found in hashTable)\u000a\u000a2. NBEquation.mo / NBInline.mo: add optional funcCrefOpt to EqData.mapExp\u000a   so that inline() can lower component references on both the expression\u000a   and cref sides simultaneously (fixes: iterator `i` not a VAR_NODE)\u000a\u000a3. CodegenC.tpl: add case {SLICE(exp=sliceExp)} to resizableSparsityRowCount\u000a   and resizableFillDepsForRow, mirroring the existing SLICE handling in\u000a   resizableColCount. Without this, array Jacobian variables like\u000a   $pDER_ODE_JAC.$DER.medium2.X[{1,2,3,4}] caused indexSubRecursive to\u000a   receive a SLICE subscript which only handles INDEX()\u000a\u000aCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\u000a\u000a---------\u000a\u000aCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>\u000a",
          "date" : "2026-07-10 23:14:46 +0200",
          "id" : "324c3bf3be874f4cc8ea778387b63a6ebb5cd9d5",
          "msg" : "[NB] Fix FlueGas regressions from #15045 (resizable sparsity pattern) (#16036)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "OMCompiler/Compiler/NBackEnd/Classes/NBEquation.mo"
            },
            {
              "editType" : "edit",
              "file" : "OMCompiler/Compiler/NBackEnd/Modules/2_Pre/NBInline.mo"
            },
            {
              "editType" : "edit",
              "file" : "OMCompiler/Compiler/Template/CodegenC.tpl"
            },
            {
              "editType" : "add",
              "file" : "testsuite/simulation/modelica/NBackend/ModelicaTest/ModelicaTest.Media.TestOnly.FlueGas.mos"
            },
            {
              "editType" : "add",
              "file" : "testsuite/simulation/modelica/NBackend/ModelicaTest/ReferenceFiles/ModelicaTest.Media.TestOnly.FlueGas_res.mat"
            },
            {
              "editType" : "edit",
              "file" : "OMCompiler/Compiler/NBackEnd/Classes/NBackendDAE.mo"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "OMCompiler/Compiler/OpenModelica.rs/openmodelica_util/src/System.rs",
            "OMCompiler/Compiler/OpenModelica.rs/openmodelica_error/src/ErrorExt.rs",
            "OMCompiler/Compiler/OpenModelica.rs/openmodelica_util/Cargo.toml",
            "OMCompiler/Compiler/Util/System.mo",
            "OMCompiler/Compiler/FrontEnd/Parser.mo"
          ],
          "commitId" : "09e7ddf104e4ac232b78114ace34a0223dec8303",
          "timestamp" : 1783751522000,
          "author" : {
            "absoluteUrl" : "https://test.openmodelica.org/jenkins/user/sjoelund",
            "fullName" : "Martin Sjölund"
          },
          "authorEmail" : "martin.sjolund@liu.se",
          "comment" : "Parallelize parsing in the Rust omc port (#16038)\u000a\u000aRoute Parser.parallelParseFilesWork through a new builtin\u000aSystem.launchParallelTasksThreaded, whose Rust body runs the parse\u000aworklist on a rayon thread pool. The generic launchParallelTasks stays\u000aserial: three of its four call sites carry non-Send payloads (Rc-bearing\u000aSymbolTable, Arc<dyn Fn> thunks), so the new function's AnyInput/\u000aAnyOutput: Send bounds opt in only the parse site.\u000a\u000aThe func arrives as the Arc<dyn Fn + 'static> codegen emits; an internal\u000aSendSync newtype re-adds the marker the cast drops (sound: routed funcs\u000aare always zero-capture top-level fnptr!s). The pool is a process-wide\u000aOnceLock sized to the requested thread count, so it is neither\u000aoversubscribed nor rebuilt per call.\u000a\u000aThe external \"C\" binding reuses the existing System_launchParallelTasks\u000asymbol, so the classic runtime is a plain alias and no new C code or\u000ammtorust codegen change is needed.\u000a\u000aErrorExt.moveMessagesToParentThread (previously a no-op) now drains a\u000aworker's thread-local message queue into a shared staging buffer that\u000athe parent splices back after the fan-out completes.\u000a\u000aloadModel(Modelica) parse phase: ~1.5s -> ~0.47s (~3x). wasm32 has no OS\u000athreads and falls back to the serial map.\u000a\u000aCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\u000a",
          "date" : "2026-07-11 08:32:02 +0200",
          "id" : "09e7ddf104e4ac232b78114ace34a0223dec8303",
          "msg" : "Parallelize parsing in the Rust omc port (#16038)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "OMCompiler/Compiler/Util/System.mo"
            },
            {
              "editType" : "edit",
              "file" : "OMCompiler/Compiler/OpenModelica.rs/openmodelica_error/src/ErrorExt.rs"
            },
            {
              "editType" : "edit",
              "file" : "OMCompiler/Compiler/FrontEnd/Parser.mo"
            },
            {
              "editType" : "edit",
              "file" : "OMCompiler/Compiler/OpenModelica.rs/openmodelica_util/Cargo.toml"
            },
            {
              "editType" : "edit",
              "file" : "OMCompiler/Compiler/OpenModelica.rs/openmodelica_util/src/System.rs"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "OMCompiler/SimulationRuntime/fmi/export/openmodelica/fmu2_model_interface.c",
            "OMCompiler/SimulationRuntime/fmi/export/openmodelica/fmu3_model_interface.c"
          ],
          "commitId" : "829e91122a5a5c5af0924c632a64a193afab2131",
          "timestamp" : 1783622917000,
          "author" : {
            "absoluteUrl" : "https://test.openmodelica.org/jenkins/user/schueller",
            "fullName" : "schueller"
          },
          "authorEmail" : "schueller@phimeca.com",
          "comment" : "OMCompiler: Avoid unnecessary full initialization\u000a\u000aIn `updateIfNeeded()`, when called during initialization mode (e.g. from\u000a`fmi2GetReal` / `omcGetReal`), the code ran the full `initialization()` solver.\u000aThis re-solved the initial equations for every tiny parameter perturbation the\u000aimporter made during setup.  For models where the initial equations depend on\u000a`time` (e.g. weather data, sin(time), tables), re-running the symbolic\u000ainitialization solver with `startTime > 0` could produce different results or\u000afail to converge, causing \"fmi2GetReal: terminated by an assertion\" and\u000aultimately a CVodeError.\u000a\u000aReplace the `initialization()` call in `updateIfNeeded`'s init-mode path with\u000athe same light-weight equation-evaluation path used in the non-init case, plus\u000a`updateBoundParameters`.  This updates external objects and re-evaluates\u000aalgebraic/output equations without re-running the full initialization solver.\u000a\u000aCloses #12823\u000a",
          "date" : "2026-07-09 20:48:37 +0200",
          "id" : "829e91122a5a5c5af0924c632a64a193afab2131",
          "msg" : "OMCompiler: Avoid unnecessary full initialization",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "OMCompiler/SimulationRuntime/fmi/export/openmodelica/fmu3_model_interface.c"
            },
            {
              "editType" : "edit",
              "file" : "OMCompiler/SimulationRuntime/fmi/export/openmodelica/fmu2_model_interface.c"
            }
          ]
        }
      ],
      "kind" : "git"
    }
  ],
  "culprits" : [
    {
      "absoluteUrl" : "https://test.openmodelica.org/jenkins/user/38032125+kabdelhak",
      "fullName" : "38032125+kabdelhak"
    },
    {
      "absoluteUrl" : "https://test.openmodelica.org/jenkins/user/schueller",
      "fullName" : "schueller"
    },
    {
      "absoluteUrl" : "https://test.openmodelica.org/jenkins/user/sjoelund",
      "fullName" : "Martin Sjölund"
    }
  ],
  "inProgress" : false,
  "nextBuild" : null,
  "previousBuild" : {
    "number" : 3,
    "url" : "https://test.openmodelica.org/jenkins/job/OpenModelica/view/change-requests/job/PR-16026/3/"
  }
}