ID 388705 - Nuke crashes when running a specific Python script for garbage cleanup

Follow

Problem summary:
Nuke crashes when running a specific Python script for garbage cleanup.

 

Customer reported version
nuke.11.3v2

 

Customer reported platform:

n/a

 

Steps to reproduce:
1) In Nuke, open the Script Editor panel.

2) Copy/paste the following code:


import gcimport sysimport threadingimport ctypesimport timefrom PySide2 import QtWidgetsfrom PySide2 import QtCoredef gcloop():    time.sleep(1.0) # YMMV    while 1:        gc.collect()        time.sleep(0.1) def circular():    label = QtWidgets.QWidget()    o1 = [label]    o2 = [o1]    o1.append(o2)    label.show()label = QtWidgets.QWidget()label.show()tm = QtCore.QTimer()tm.timeout.connect(circular)tm.start(100)sys.modules['killer'] = threading.Thread(target=gcloop)sys.modules['killer'].start()

3) Run the command and observe performance.

 

Expected behavior:
The script should continue running indefinitely without crashing.

 

Actual behavior:
Nuke crashes after opening and closing multiple windows.

 

Workaround:

There is no available workaround at this time.

 

Reproduced by Support in:
Nuke 11.3v3 - Windows 10, CentOS 7, macOS 10.13.6 High Sierra

Nuke 11.3v1 - Windows 10

Nuke 11.2v1 - Windows 10

Nuke 11.1v1 - Windows 10

Nuke 11.0v1 - Windows 10, CentOS 7, macOS 10.13.6 High Sierra

 

Unable to reproduce bug in:
10.5v8 - Windows 10

 

Earliest version tested:
Nuke 10.5v8 - A Python change was made to versions above 10.5v8.

 

 

    We're sorry to hear that

    Please tell us why