Quasars / orange-spectroscopy

Other
51 stars 59 forks source link

On -latest tests, do not crash in case of OrangeDeprecationWarnings #644

Closed markotoplak closed 1 year ago

markotoplak commented 1 year ago

As described in #643, OrangeDeprecationWarnings that came into Qt's event loop caused segfaults (Qt does not like exceptions).

This PR disables crashes on OrangeDeprecationWarnings for unreleased Orange versions.

markotoplak commented 1 year ago

Thanks @JakaKokosar for writing the actual testing code for this.

stuart-cls commented 1 year ago

It seems like this only eliminates the instigation of the problem and doesn't fix the event loop segfaults. Is there any solution to have those crashes visible in a way that is easier to debug? #643 seemed really hard to debug

markotoplak commented 1 year ago

Yea, but the real reason is that I was too inexperienced with this kind of errors. If I looked at the trace I could see that this was run as a result of an event and then I could have remembered that this is the default Qt behaviour. :)

We actually wanted crashes, remember https://github.com/Quasars/orange-spectroscopy/pull/559#issuecomment-848300718? That did not crash because pyqtgraph at its import added some guardind code. Then, Aleš removed that workaround so that we can see bugs like this most easily.

I do not see a way to have it both ways currently. Perhaps if there is a way to not make it segfault but only fail tests, but I do not see how...

stuart-cls commented 1 year ago

Oh right, good point. Better to take the crashes then!