-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OS app repeatable crash on Mac #3434
Comments
Just tested with 2.7.1 on Windows, no crash. |
It happens to me on Mac too, both opening an existing project and starting from an empty project, as David described. |
There is UH post here. I can reproduce crash vs. lockup when working with stories, but I have not been able to reproduce crash or lockup in space tab |
I updated this in the initial ticket with list of all know crashes. I will continue to update it if I find new cases. |
Reproduced with current develop on Mac. Backtrace:
|
The issue stems from the destructor of OSEdit classes calling unbind. The unbind method does three things. 1. resets the member variables related to the ModelObject that is bound 2. removes some qt signal connections 3. calls setEnabled(false) You can see these steps here https://github.com/NREL/OpenStudio/blob/1ae1cec65b25421bd2dabcb7501618a00338645b/openstudiocore/src/shared_gui_components/OSLineEdit.cpp#L152 During destruction of the widget it is item 3 that causes the issue, because as the widget calls the setEnabled method, the focus event is triggered and that causes a bunch of refreshing logic that we don't want because the overall view is in a half destroyed state. The solution is simply to not call unbind when the OSEdit classes are destroyed. This is defensbile because 1. member state does not need to be reset because it is soon to be destroyed. 2. qt connections will be removed by QObject destructor https://doc.qt.io/archives/qt-4.8/qobject.html#dtor.QObject 3. setEnable (the source of the issue) does not need to be called because the widget is soon to be nuked anyway. close #3434
Assigned to @DavidGoldwasser to accept |
:) spot checked in 2.8.1 |
Many internal users have seen stability issues on mac, but have been seemingly random. I came up with a repeatable case from a clean model following steps below.
For me this always crashes. Definition Column or drop zone columns do not crash. I expect this kind of behavior on other tabs is also cause of many crashes. I have not tested this on windows to see if it is unique to mac. I tested on 2.7.0 and 2.7.2 (internal installer). Screenshot below is just before I switch to "Spaces" tab.
CC: @macumber
I wanted to put a list of checkbox with specific scenarios beyond the one above so that someone can get overview without having to look through the comments. (>name = tab/sub-tab, |name = column). Unless stated otherwise these crash after entering text in this tab and then changing the major tab.
Summary:
Detail:
> Site > Weather File & Design Days > Date | Design Day Name
> Site > Weather File & Design Days > Date | Day of Month
> Site > Weather File & Design Days > Date | Month
> Site > Weather File & Design Days > Temperature | Maximum Dry Bulb Temperature
> Site > Weather File & Design Days > ** spot checked a few others and didn't find text entry that didn't crash**
> SpaceType > Loads | Space Type Name
> SpaceType > Loads | Load Name
> SpaceType > Loads | Multiplier
> SpaceType > Measure Tags | Standards Template
> SpaceType > Measure Tags | Standards Building Type
> SpaceType>Measure Tags | Standards Space Type
> Facility > Stories|Story Name
> Facility > Stories | Nominal Z Coordinate
> Facility > Stories | Nominal Floor to Floor Height
> Facility > Stories | Nominal Floor to Ceiling Height
> Facility > Exterior Equipment | Exterior Lights Name
> Facility > Exterior Equipment | Multiplier
> ThermalZones > HVAC Systems | Name
> ThermalZones > HVAC Systems | Multiplier
> ThermalZones > ** spot checked a few others and didn't find text entry that didn't crash**
> Space > Loads | Multiplier
The text was updated successfully, but these errors were encountered: