Skip to content

Bad thermostat control type value results in crash due to null schedule pointer #11026

@mjwitte

Description

@mjwitte

Issue overview

User file has this thermostat input:

ZoneControl:Thermostat,
    Thermostat_Living,       !- Name
    Living ,                 !- Zone or ZoneList Name
    Always_ON,               !- Control Type Schedule Name
    ThermostatSetpoint:SingleCooling,  !- Control 1 Object Type
    Cooling_Setpoint;        !- Control 1 Name

ThermostatSetpoint:SingleCooling,
    Cooling_Setpoint ,       !- Name
    CoolingSetpoint ;        !- Setpoint Temperature Schedule Name

Schedule Always_ON is always 1, which is the control type for SingleHeating setpoint.

In 24.2 this is flagged as an error:

   ** Severe  ** Control Type Schedule=ALWAYS_ON
   **   ~~~   ** ..specifies control type 1 (ThermostatSetpoint:SingleHeating) as the control type. Not valid for this zone.
   **   ~~~   ** ..reference ZoneControl:Thermostat=THERMOSTAT_LIVING
   **   ~~~   ** ..reference ZONE=LIVING
   ** Severe  ** GetStagedDualSetpoint: Errors with invalid names in ZoneControl:Thermostat:StagedDualSetpoint objects.
   **   ~~~   ** ...These will not be read in.  Other errors may occur.
   **  Fatal  ** Errors getting Zone Control input data.  Preceding condition(s) cause termination.

In 25.1 it crashes here with a null schedule pointer:
https://github.com/NREL/EnergyPlus/blob/842796b727d6485d5d7fd19941ae813b10acfcbe/src/EnergyPlus/ZoneTempPredictorCorrector.cc#L3226-L3228

Operating System (Multiple choices)

Any

Operating System Version

any

Version of EnergyPlus

25.1.0

Unmethours link or helpdesk ticket number

Helpdesk tickets 16882 and 16887

Defect file

EnergyPlusDevSupport\DefectFiles

Metadata

Metadata

Assignees

Labels

DefectIncludes code to repair a defect in EnergyPlus

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions