Hise crashing
-
Ah I haven't even began to use paint routines yet, still using stock elements.
-
@Lunacy-Audio Can you make a snippet that crashes reliably, that will save me some time...
-
For sure! Will post something later today.
-
@Christoph-Hart This one crashes a lot:
I replaced the getSystemTime() API call with a permanent string so you don't have to merge. It still crashes anyway...HiseSnippet 2579.3oc6Z07aaibEmx1LarSb1roAEs.8vTchdihLo7mIoKrTrrhUp+PwxaxFXDrcL4HoAgjiJ4HaqFja8Pu0dq2JJv9WPuUTfBrn+ETfhh85dZOVrG5419lgeHpOirqiqcwJaSy48l2i+l27l27dCUEOlIw2m4ojZ58a2jnj5lpUa6xardCL0UobQkTef551LyWq731Mw99DKkTol7IBloldJE4mucsGiswtljNjTTdNiZR1h5P4cnVI+OkZaWBaQ1m5jn2KlurIycclMqE.jIU0UZhMeMtNYGrnaSnpj5ZaXQ4LupbLm3qjZpGyrZWsA6X2f9+bpO8PahnggRUPQAjKwrsDHVPUY8FTaqJQCXeEPoU5L7mLX3eW0soVzX5cLC2Vx.0Qhj1iTSLJ3YjDd5iO7Rk.dSE.uORspoGsIuCGA1tgZYWNwqFFlBRBqf9pLwedV00YPOb4YcvulTxCZDKg1R55YPvk4dzry.cymYSxZZSvdZBJyNCL03yQGg8P07f4CzmfhTF1xpB1kXqkVxIcF8LQZQx2mH.ZShGmR7gmpySqt6NwcFgdS5ioV7Foen.BoaPn0avkMdavS1iTGwoxGY5zOJn8KS1X6jMJlrgELQjrcCngd38NIt2Ow8vrQUhYBBjifQQYqGkzF3.isFBoNH8SwtoyjtD4P351XO3Zgldx6aCWeZKW4UaA8V0gqUIMgq6Zxgq6vNBtVjXl9Uxg5ryHsJBSlXsg25Xa6CgEAZ0Z4ZxoLWs4lcl2L6LSGYOxomS+9FF2O2p6arzCMV8gKtT5GM+7a3Vm5RxVmvq11mSbDJSi60hHrnSC+JreBcj0u0g9bOpacM8LKJ4tc+rVJyJRVE6m0pYLziTZn0tH5dnzvO2KzJcPSrmOA7zz1dt6a7pXtuLTr4mGUtFJsdZDlivnCI.1AUiX0fVAOlLHOhC6HBhxQLODuAAEoTTjoAcLDUAw8HfVftg8Qatwmgba4bHwCdJho9XfHGDlMvdE3ZFFyg9weh74uVuiNCiLFKLG5g8QOmftbb6LT8t3Hz6hYLVdP5cIAcod8GpdWYD5ckLFOXP5cUA8n4IZMjVnWNnH+4DNTH3SniN7fkA+y1zF2dGFmn8.HzvxAdGh9Ev0E3rasZEIPuHVOt8FARqEpkLnbAASjhDunxWP4sA3f2f5m0izDBtxkQYjK3CWAvwdAqAzVPetvEGIVdTQHzdrVbvOuypi5gKOpmsF3LTv1VKX6D+rVXuWW2izVhn5BMDvItCGBwcHgbEBugsMsoOQ6fbKpmQ9m32WEYCqAtgZTYTBDE8SPF4f+eu6EaKC+mHVQCP+kcsHmTvstsXARNzGi1FClvJkQyCRBMon6izBoMeNwCAE9QngS.gjLMY9Zcqtd6Z6nt5ScGPWShs5Ys7vGukv.JmIfnEuPDHVat4yAKOOAfkwpvL+vXlSOAyMkgsC41tWQ6iqT1kmKgyPuFzk0GpA0g5NB64x5mN6YWZajly954o0Z9fyt07AuSq4BIslBr6SLeNwDxGAFChcBhZp4G5lOb.OXXFqvCzekbFdoAgogfyNBaDKrQzpovY0jvc6nlmY3FqvP3th9o.tcD1HV3ERBWwZqj3cy31mY.2QkgHV+zf3DRaDK8xQNzCIp2wTdiB1Maf6DGzFx2HCRO6RykHZ3dfh0Nv.hAtTlbKCoJzIR36JXJvsDjGfV5BdTLjFDZQ8D1mB1z5tDq8Imv0D4OjAc.j9XldLOYVR+UYPoMgcV7HVoCezuMZeApqMXl6jIPOd6x8DDFAnBFrsvSbDQN7GXji.I6JtQjZ5tKcEvn2t3Q3s7bQGbRl1h78d6PvdRW+SE1c9eO16ZYv3Bd4VfMtfA+f+IdrvbEo9rKjw8LuYlom4syf5kUsZCjmnrGOlsMj4xfXGjSyHDTKHk0Lv9O1PB6QcDJ9q6pKUGd0kIK90LnJrDcjA6hQ461j3NrZNUBKcCt6SKWDywhxPCo0oTNfVQxQP88AEkNsZQh+q4rlx95zj4JzPpqwkbmMpjUQkhJTKwIJHSlS4DXnjRT+e6najkCBJ7Z+yTAmLPPMgIonzeQwPo4LqV1Xd20qKNjhPFfYtqBiEE+55S4sSdHFuWJhebg6GoVgxMaLX7Nw.vKLw79FugGIxrpaTqFrvtCXmRszmcAb9GSTouSm5NpUX1sa1f4RMKQs4jfC.YZ0fFFC6Tp95m8G+cqUxi7yaQbMishe0reQ9mE13mUq1OJOX9SbrTeb9m0Ba2wp+62eu+PgGSaxrwdi0Lxji2B0ALzmZLca99pwCJz+M95SNdSXuiCo5VAHUUcqR6FtHDtCEiaiQCru5K9q8OGAycqINwvxtIszu.eDApavIL.TH8ameKRc3AkbjtOABHA0sZlT7pNLFjnga8tOGx6leKFq4FtXXnakTIUZf8Eg8gLZRpl0a4yYNQXQdPkU4jlx3loNPc4EyBepcOw0GrNbYgcOeZeN5nMwX5n88jyjwSYh4zK4QTCPbWKOtzuGfHhE5JydV+P0vfgRq7UGbeK0mc4Br2H.refp7H0jX75A22cDSIIQHqsH0RDHpb9XF6EltTLmRDhk3bj6VBEkH58HfhxVriq.OPwLZL4e0eK+lz9npTL+1zSh197W+W96CNVapIOmhUoDbne0gb88DOW0cZ4TEJ5vj.SstPxkhTiSMgHtbPa8nzJqRbsjM92vmPlFh1oBYZDwL4rx0ilU1gQ8IxYk6DbO5IDWhW+6nkHgCz27m9si6qEq4X+Zw50VN03YKeG4YM0k5WC1EWB+mOIAMcDFqRcZZS1v8HhMT3Tn+S.QTD0t8e1l4xBxsMoKydDveudchWRrOvATANGVR2sr1DH0ktVfCEti85NS2SksvX7sEiZ95GnF.WjvoG8cEpc0sPsK5.ygkYbCXwjKQ9JoBqERzFIRGeLBPq7K+W+ly+.z6ZxgG+9dXW+lrtV28kUINz8YtBqdmm1m5SD6otmvSpqJKXhW.3.X8sqUBFjCTlpXdKOoKYAGVK2H7+0+h69OV66133x+FGeXT9FE1rX08BC1Hu+851Eq2x6ntVATjXha2G092aIfxVD.ZIIuILojncdo55PHe9pPUyc88G5keYeaSsX9MLYu+1iRcLcMlM4dTW5qpIDqAyHWtA6MUktEWErqenZnC6UBC6sTCWKcUvzNxbol7pVtTm8cAl376r.ROzyBXkKryBX3m65U8yB3lg0u8jNK2BKnSPwXDeGYEaqZi6xU9EgurqXBCHazxvF+d7JhCYq2EBSdQ+tFtpc7j2IXYyUI.KcIt5.3aqVAeYvg3hHXv+u7LbvldrO2L3abfX4+0kT.aqq7Ka+zpaKZiLTjeKDDuMO8r5JNPwaetooXav6CyACVlbmAYV3LHyhmAYV5LHyxmAYV4LHypiTFQcyEZwYNAqw.BU1H3ULlJ9UUlZRk+C7eYFkI
-
Yup, that's a good example. The problem is if you recompile a script while a timer is running, then it will try to execute a timer callback for a nonexisting engine. I'll look into it...
-
@Christoph-Hart Yeah I noticed that timers are often a cause for crash for a long time.
In this snippet, I even get crashes with the timer not running at compile -
@ustk Oh yeah and it also crashes while running without any action ;)
-
Alright, please try it now, I've just commited a fix for it.
It should also prevent dangling repaint calls, control callbacks whatever from being executed. Actually there is already a protection in place, but for some reason it failed, so now we have double protection against dangling callbacks :)
-
@Christoph-Hart Cool! Testing...
-
@Christoph-Hart It is so bulletproof now that the Timer doesn't start anymore
-
Yes, TOTAL PROTECTION!!!
-
@Christoph-Hart Been crazy on F5, Walked on it... Slept on it... Even my cat tried... It's stable!
-
@Christoph-Hart Hmmm... It still crashes every now and then while running, not at compile...
I just open the above snippet and let it run. When I come back after a moment it always crashed... -
Which configuration are you using? Release build on Windows?
-
@Christoph-Hart Release on mac
-
Ah, it's crashing on Release on Windows too, Debug is fine. The problem is some weird memory corruption that occurs over time and I think has something to do with storing Strings in
reg
variables. If I change thereg
tovar
in your snippet, it doesn't crash, also if I comment out the lines that store strings into thereg
slots... -
@ustk Can you confirm that the crashes also disappear on your system if you change the
reg
s tovar
? Because if yes, I can try the address sanitizer on macOS, which is helpful for finding these memory corruption bugs. -
@Christoph-Hart Ok I'm testing ;)
-
@Christoph-Hart Well for some reason it is stable now. Nothing changed since yesterday, I didn't even restart the machine...
I had a doubt about the computer sleeping or when exiting the screen saver but it refuses to crash now... Can you do something? -
Apologies fellas! Meant to post a snippet last week and got caught up in US holiday craziness. Let me try out the new commit and see if it's working with my current project.