- Install Qt 6.4.0
- Install Squish 7.1 for Mac, using Qt you've installed on the last step
- make run.sh of this repository executable with
chmod +x run.sh
- Start the app using command like this
./run.sh -j /Users/max/Library/Java/JavaVirtualMachines/azul-11.0.13/Contents/Home -q /Users/max/Qt/6.4.0/macos/lib -p /Users/max/IdeaProjects/crashdemo
- Enter something in search, verify that you see no crashes, close the app.
- Note that Squish hook is not installed because you don't set SQUISH_PREFIX env variable, like squish app does.
- Create new Squish Test Suite with run.sh AUT
- Add these arguments as program arguments there:
-j /Users/max/Library/Java/JavaVirtualMachines/azul-11.0.13/Contents/Home -q /Users/max/Qt/6.4.0/macos/lib -p /Users/max/IdeaProjects/crashdemo
- Make sure that arguments point to your locations of Zulu JDK11(download from here), Qt 6.4.0 and this project location
- In Squish /bin run
squishserver --config setUsesBuiltinHook run.sh on
- this will allow to attach squish only after squish hook was installed in Main.java
- Without this squish would just fail to connect
- Now run AUT
run.sh
with parameters from step 6.- You will observe that Squish loads first, but then crashes on
eventDelay.connect(this::onUiEventDelay)
- this is just a normal signal subscription that works perfectly without squish attached.
- If you comment out that line, it will crash on line
QApplication.instance().thread().finished.connect(s_bgQueueThread::quit);
2. this is just a normal signal subscription that works perfectly without squish attached. - If you comment out that line, it will crash on line
QApplication.instance().thread().finished.connect(m_uiPingThread::quit)
- If you comment out that line too, it will crash on
QWidget frame = new QWidget()
line, which seems to be the moment Squish app tries to join the hook
- You will observe that Squish loads first, but then crashes on
In folder src/crash/crashlogs
you can see what is in logs when some of these crashes happen