Error after update to CoronaSDK-2013.1208

Thanks alexf, seems to have done the trick for me.
What was causing it?

works for me, please explain yourself…

Hey martin189, juliusbangert,

As Walter posted above on the thread, it had to do with a race condition happening in the internal transition table. Altering a transition while iterating the internal transition table was the culprit.

alex

don’t get that, but thanks anyway

Hello Martin,

I’m sorry this has upset you, but we actually do test before we release. However, Daily Builds are… and always have been… open to occasional “breaking changes”. This is why it’s entirely optional for developers to use these builds, and you should treat them carefully. As we have clearly stated on many occasions, if you want the most stable build, you should use the most recent Public release, which is currently #1202.

I don’t recall you bringing these concerns to our attention in the past, but best of luck in your future endeavors if you choose to use another platform. We maintain that Daily Builds are an advantage to developers, but the shifting and changing nature of these builds must be carefully regarded as well.

Sincerely,

Brent Sorrentino

Surely there must be more to the stack traceback then that?

I’m getting the same runtime error with the same stack traceback in daily build 1210. I left my coding for four weeks and came back to it, updated my corona install and now I’m getting this.
Only I get it during storyboard scene transitions.
Guess I’ll go back to 1202. Brent could you let us know when this issue is fixed. Cheers.

Hi Julius,

This is being investigated; I believe it may be related to the new transitions library. There should be a resolution soon; I’ll keep you posted.

Best regards,

Brent

“As we have clearly stated on many occasions, if you want the most stable build”

Are you kidding me? You expect customers to pay almost 600 bucks a year just for in-app purchase and the bad support (requests are not answered for weeks)? I can simply making 2 version of my app, a free version and a pro version and link them. So why in heavens name should I renew my subscription? Please tell me, I really want to know.

I’m waiting for the bug fix, so to others, and before doing such unimportant stuff such as “open last active project” (nice to have, but bug fixing always has to be prio 1, everything else is just not professional) you should make a useable stack trace with file names shown.

How can I help you improve your product when I cannot submit a bug other than the one shown above? How can I submit a bug for simulator crashes if you don’t have a (optional) simulator log file at all? These things are state-of-the-art in computer science since I can remember doing software development. I’m not expecting anything unusual.

Every time I have to downgrade Corona SDK (which I have to do a lot lately) I get an error saying it cannot be installed because of a newer version is already installed. Why? Why not simply uninstall the newer version first, or in case of downgrade?

From the latest newsletter of your: “We’ve been pushing a lot of changes into daily builds since the last public release. If you’re a Corona SDK Pro subscriber, you’ll have immediate access to a boatload of cool new features”

That’s exactly what I meant: You praise new features that are only available in the daily build as one of the major advantage of Pro users, but they are actually worthless because hardly tested at all.

Do you actually realize that most of Pro users who used the old transition framework cannot update anymore and cannot use your “cool features”? What kind of business model should that be?

BTW: the error still exists in CoronaSDK-2013.1216, still no file names, still no possibility to track down the error cause.

You shouldn’t bite the hand that feeds you, Corona.

For those with the same problem, for me CoronaSDK-2013.1202 is the last version that works with the old transition framework. An information that actually should be provided by Corona Stuff, don’t you think?

I am equally upset as @martin189 if not more because I have updated the build of corona to publish iOS 7 version to the AppStore only to find out my project is broken.

I have narrowed the issue to transition 2.0 transition.from() implementation be the cause.

here is part of my code that doesn’t work anymore:

puzRight.tween = transition.from(puzRight, {x=coords1.x, y=coords1.y, transition = easing.outQuad , time = 1000}) puzLeft.tween = transition.from(puzLeft, {x=coords2.x, y=coords2.y, transition = easing.outQuad , time = 1000}) puzRight.shade.tween = transition.from(puzRight.shade,{x=coords1.x-puzRight.shade.delta.x \* SCALE, y=coords1.y-puzRight.shade.delta.y \* SCALE, transition = easing.outQuad , time = 1000}) puzLeft.shade.tween = transition.from(puzLeft.shade, {x=coords2.x-puzLeft.shade.delta.x \* SCALE, y=coords2.y-puzLeft.shade.delta.y \* SCALE, transition = easing.outQuad , time = 1000}) 

Above code throws error:

2013-09-27 11:54:10.843 Corona Simulator[41268:e03] Runtime error ?:0: attempt to call field 'transition' (a table value) stack traceback: [C]: in function 'transition' ?: in function \<?:516\> ?: in function \<?:218\>&nbsp;

When you remove the transition (easing) parameter it works fine:

puzRight.tween = transition.from(puzRight, {x=coords1.x, y=coords1.y , time = 1000}) puzLeft.tween = transition.from(puzLeft, {x=coords2.x, y=coords2.y, time = 1000}) puzRight.shade.tween = transition.from(puzRight.shade,{x=coords1.x-puzRight.shade.delta.x \* SCALE, y=coords1.y-puzRight.shade.delta.y \* SCALE , time = 1000}) puzLeft.shade.tween = transition.from(puzLeft.shade, {x=coords2.x-puzLeft.shade.delta.x \* SCALE, y=coords2.y-puzLeft.shade.delta.y \* SCALE, time = 1000})&nbsp;

What is weird when I use the transition parameter in the first 2 transition.from() it works fine:

puzRight.tween = transition.from(puzRight, {x=coords1.x, y=coords1.y ,transition = easing.outQuad , time = 1000}) puzLeft.tween = transition.from(puzLeft, {x=coords2.x, y=coords2.y,transition = easing.outQuad , time = 1000}) puzRight.shade.tween = transition.from(puzRight.shade,{x=coords1.x-puzRight.shade.delta.x \* SCALE, y=coords1.y-puzRight.shade.delta.y \* SCALE , time = 1000}) puzLeft.shade.tween = transition.from(puzLeft.shade, {x=coords2.x-puzLeft.shade.delta.x \* SCALE, y=coords2.y-puzLeft.shade.delta.y \* SCALE , time = 1000})&nbsp;

NOTE: transition.to() works fine with the transition (easing) parameter.

I NEED this fixed for yesterday for proper AppStore iOS7 publishing. 

This is becoming annoying because I would like to publish my app soon and want to be able to build for ios7. As far as I can tell, the last public release (1202) does not allow builds for io7, only ios7 beta. Please get this sorted Corona people.

@Blerdo.com: Are you on a daily > 1215?

I’m trying to figure out what breaks there, but i don’t seem to be able to replicate…

Thanks

Alex

@Blerdo, I modified your test code so it works as a complete main.lua file and cannot reproduce using daily build 1216:

[lua]

local puzRight = display.newRect( 100, 100, 50, 50 )

local puzLeft = display.newCircle( 100, 200, 50 )

puzRight.shade = display.newRect( 200, 200, 50, 50 )

puzLeft.shade = display.newCircle( 30, 200, 50 )

puzRight.shade.delta = {x = 20, y=30 }

puzLeft.shade.delta = { x= 20, y=30 }

local SCALE=1

local easing = require “easing”

local coords1 = { x=300,y=400}

local coords2 = { x=100,y=400}

puzRight.tween = transition.from(puzRight, {x=coords1.x, y=coords1.y, transition = easing.outQuad , time = 1000})

puzLeft.tween = transition.from(puzLeft, {x=coords2.x, y=coords2.y, transition = easing.outQuad , time = 1000})

puzRight.shade.tween = transition.from(puzRight.shade,{x=coords1.x-puzRight.shade.delta.x * SCALE, y=coords1.y-puzRight.shade.delta.y * SCALE, transition = easing.outQuad , time = 1000})

puzLeft.shade.tween = transition.from(puzLeft.shade, {x=coords2.x-puzLeft.shade.delta.x * SCALE, y=coords2.y-puzLeft.shade.delta.y * SCALE, transition = easing.outQuad , time = 1000})

[/lua]

@martin189, we’re more than happy to help, but we need code to look at so we can investigate and address the issue.

Fix the incomplete stack trace output so the file names are shown and I will post code here. I’m not willing to spend hours to extract a possible problem from about 40 lua files. Bugfixing is actually your job.

Hello, is there still no progress on this?
I did some testing to see if it had something to do with the easing library I’m using. I thought it might be clashing somehow with the new easing functions that come with the transition 2.0 library but it’s not that.
It also doesn’t seem consistent, It seems relaunching the simulator and doing exactly the same actions can sometimes cause the crash and sometimes not.
What’s going on here? Can you please fix this Corona staff, I don’t want to be stuck on build 1202 forever.

@juliusbangert/@martin189, we have not succeeded in coming up with a reproducible test case. Consequently, without some code from your side, we have no current way of reproducing this issue, and that means resolving this will always take much much longer.

And even if we think we fixed the culprit, we would have no way of verifying we fixed your particular issue!

So if you can provide some code, we’ll be able to hone in on the issue much more quickly. You can post a snippet like @Blerdo did, or you can send it over privately via a bug report, or if you want even more privacy, you can e-mail me (walter at coronalabs dot com).

Are you guys setting up new transitions, or canceling them, inside an onComplete listener?

We’re investigating a possible race condition. If there is one, would be great to get some code to see if your issue is the same thing.