Crash while unloading a collection proxy

Hi there,

I am using the latest version of the engine. It keeps crashing while unloading a collection proxy. This problem never happened with the previous versions. Attached you may find the Crashdump.

Moreover, I had to update to the latest version downloading it directly from the web; the update system was not working. It showed the “Update available” message but when I start the download it returns at once to the editor showing again the same message.

Thanks!

Ciao!

_crash.zip (2.7 KB)

1 Like

this was also happening to me today, tonight i was able to properly update

@jhonny.goransson and @sven can you take a look at this crash?

The crash seems to be related to a custom easing function. Is this correct?

Can you give us a minimal repro case to test with?

2 Likes

Hi, thank you for your answers!

Yes, I see from the crash report that the engine crashes while releasing an “animation curve”. I have tried to reproduce the crash following your suggestion. It seems to me that the problem is the following custom easing

        local values = { 0.0, 1.0, -1.0, 0.0}
		local my_easing = vmath.vector(values)
		go.animate(item.face_go_url, "position.x", go.PLAYBACK_ONCE_PINGPONG, DX, my_easing, 0.5)

Please note that I have reported a bug about custom easing in the past (DEF-3841) with the engine leaking a Lua.Ref each time a custom easing is used (sorry for my poor explanation…).

About the minimal repro. I will try to prepare one as soon as possible.

Thanks again!

Ciao!

1 Like

Yes, this latest crash seems to have started with the fixes from DEF-3841.
Looking at those changes, I’m guessing it instead exposed an old bug.

Yes, a minimal repro wuild be great, since we tried and failed reproducing it locally. Thx!

2 Likes

I tried to prepare a minimal repro but I failed… However the attached project shows:

  1. the DEF-3841 issue is not solved
  2. moreover, the Lua.Refs counter keeps growing ALSO in case the collection containing the animation with custom easing is unloaded!
  3. the allocated memory keeps growing too…

Hope this may somehow help! Thanks! Ciao!

defold_refs_proxy.zip (91.2 KB)

Hi,

an update about this. I confirm that the crashes do NOT happen anymore if I remove the use of custom easings .

So I am trying to replace custom easings. A have a (probably very simple) question about animation and deleted go. I would like to concatenate two animations, something like

go.animate(item, property, playback, to, easing, time, 0.0,
function()
go.animate(item, property, playback, to2, easing, time)
end)

Is this fine also if item is deleted before the second animation starts? Does the deletion of item destroy also any related animation? I apologize for this basic questions…

Let me use the occasion to propose something. I would like to suggest the implementation in Defold of a new easing go.EASING_SINE: if I animate the property P with “to” parameter ugual to A and time T then

P(t) = A * sin( 2.0 * pi * t / T).

Indeed I was trying to approssimate something like this with the use of custom easings. And now I have to revert to concatenated animations.

Ciao!