Announcements
The Scaleform forum is now read-only. Please head to the Gamedev site for product support.
Scaleform Forum (Read Only)
Scaleform enables developers to leverage the power of the Adobe® Flash® tool set to create powerful user interface environments for video games.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SIGILL Exception causing Editor and Runtime Crash

5 REPLIES 5
Reply
Message 1 of 6
danilonishimura
769 Views, 5 Replies

SIGILL Exception causing Editor and Runtime Crash

Hi everyone,

 

Recently we have moved the entire user interface from our game to Scaleform. Everything related to interface updating seems to be working as expected. However, we've been experiencing frequent engine exceptions, sometimes at runtime, sometimes using the editor.

 

ExecutionEngineException: SIGILL
Scaleform.Movie.Advance (Single deltaTime) (at Assets/Plugins/SF/SFMovie.cs:558)
Scaleform.SFManager.Advance (Single deltaTime) (at Assets/Plugins/SF/SFManager.cs:1174)
Scaleform.SFCamera.LateUpdate () (at Assets/Plugins/SF/SFCamera.cs:339)
GameplayScaleformCamera.LateUpdate () (at Assets/Scripts/Game/ScaleformHUD/GameplayScaleformCamera.cs:37)

 

The GameplayScaleformCamera.cs is a script that overrides SFCamera and does this:

 

public override void LateUpdate ()
{
	if (GameScene.instance.gamePaused) {
		if (SFMgr != null){
			SFMgr.Advance (lastDeltaTime);
		}
	} else {
		lastDeltaTime = Time.deltaTime;
		base.LateUpdate ();
	}
}

 

 We do this so we can manipulate the delta time and keep the ui running independently.

 


Sometimes the error comes up as soon as I hit play, sometimes it takes a few plays, sometimes it happens after recompiling scripts, sometimes while moving assets around. I can't really figure out what's causing this.


And everytime I see this error, I have to close the editor because it'll freeze (beach ball) as soon as I try to do anything.

5 REPLIES 5
Message 2 of 6
beneton
in reply to: danilonishimura

I'm experiencing the same error. 

I'm using Unity 4.3.4f1 on Mac OSX 10.9.3

 

This error might be related with low framerate, as in a faster computer, this error rarely happens.

 

As I'm on a schedule, I may have to abandon scaleform if I don't find a fix that this week 😕

 

Any help would be great.

 

🙂

 

 

 

Tags (1)
Message 3 of 6
beneton
in reply to: beneton

Hello there,  I just made a build of my game and tested it in a Mac OSX 10.7.5 and it crashed, but I got the stacktrace:

 

 

Date/Time: 2014-06-05 20:21:41 -0300
OS Version: 10.7.5 (Build 11G63)
Architecture: x86_64
Report Version: 9

Command: Earth Under Siege
Path: /Users/*/Desktop/EUS.app/Contents/MacOS/Earth Under Siege
Version: Unity Player version 4.3.4f1 (4.3.4f1)
Parent: launchd [139]

PID: 426
Event: hang
Duration: 5.49s
Steps: 56 (100ms sampling interval)

Pageins: 0
Pageouts: 0


Process: Earth Under Siege [426]
Path: /Users/*/Desktop/EUS.app/Contents/MacOS/Earth Under Siege
Architecture: i386
UID: 1048

Thread 0x2d69
User stack:
56 ??? (in Earth Under Siege) [0x2975]
56 ??? (in Earth Under Siege) [0x5f6901]
56 NSApplicationMain + 1054 (in AppKit) [0x90a7cac5]
56 -[NSApplication run] + 911 (in AppKit) [0x907ebac1]
56 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 113 (in AppKit) [0x907ef752]
56 _DPSNextEvent + 678 (in AppKit) [0x907efee8]
56 BlockUntilNextEventMatchingListInMode + 88 (in HIToolbox) [0x9aab171a]
56 ReceiveNextEventCommon + 168 (in HIToolbox) [0x9aab17d6]
56 RunCurrentEventLoopInMode + 318 (in HIToolbox) [0x9aaaa543]
56 CFRunLoopRunInMode + 120 (in CoreFoundation) [0x96adb088]
56 CFRunLoopRunSpecific + 332 (in CoreFoundation) [0x96adb1dc]
56 __CFRunLoopRun + 1888 (in CoreFoundation) [0x96adbcd0]
56 __CFRunLoopDoTimer + 743 (in CoreFoundation) [0x96afcc37]
56 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 22 (in CoreFoundation) [0x96afd2a6]
56 __NSFireTimer + 166 (in Foundation) [0x956a7bab]
56 ??? (in Earth Under Siege) [0x5f6bd2]
56 ??? (in Earth Under Siege) [0x2d6e84]
56 ??? (in Earth Under Siege) [0x21d6eb]
56 ??? (in Earth Under Siege) [0x3119c3]
56 ??? (in Earth Under Siege) [0x311985]
56 ??? (in Earth Under Siege) [0x3201b0]
56 ??? (in Earth Under Siege) [0x31ff8a]
56 ??? (in Earth Under Siege) [0x23f25b]
56 mono_runtime_invoke + 186 (in libmono.0.dylib) [0xf495ca]
56 mono_jit_runtime_invoke + 1586 (in libmono.0.dylib) [0xd0c332]
56 ??? [0x17ded39]
56 ??? [0xc1801a2]
56 ??? [0xc180311]
56 ??? [0x15e3bbbb]
56 ??? [0x15e3bc48]
56 SF_Advance + 164 (in libgfxunity3d) [0x11759ad4]
56 SFManagerImpl::Advance(long long, float, bool) + 608 (in libgfxunity3d) [0x11766016]
56 Scaleform::GFx::MovieImpl::Advance(float, unsigned int, bool) + 5173 (in libgfxunity3d) [0x11d752e5]
56 Scaleform::GFx::MovieImpl::AdvanceFrame(bool, float) + 845 (in libgfxunity3d) [0x11d769dd]
56 Scaleform::GFx::Sprite::AdvanceFrame(bool, float) + 454 (in libgfxunity3d) [0x11db54f6]
56 non-virtual thunk to Scaleform::GFx::AS3::AvmSprite::AdvanceFrame(bool, float) + 70 (in libgfxunity3d) [0x117c4c86]
56 Scaleform::GFx::AS3::AvmSprite::AdvanceFrame(bool, float) + 426 (in libgfxunity3d) [0x117c4b8a]
56 Scaleform::GFx::Sprite::ExecuteFrameTags(unsigned int) + 297 (in libgfxunity3d) [0x11db2a39]
56 Scaleform::GFx::ExecuteTag::ExecuteWithPriority(Scaleform::GFx::DisplayObjContainer*, Scaleform::GFx::ActionPriority::Priority) + 56 (in libgfxunity3d) [0x118fe778]
56 Scaleform::GFx::PlaceObject2Tag::Execute(Scaleform::GFx::DisplayObjContainer*) + 52 (in libgfxunity3d) [0x11dc0904]
56 Scaleform::GFx::PlaceObject2Tag::ExecuteBase(Scaleform::GFx::DisplayObjContainer*, unsigned char) + 397 (in libgfxunity3d) [0x11dbd4dd]
56 Scaleform::GFx::Sprite::AddDisplayObject(Scaleform::GFx::CharPosInfo const&, Scaleform::GFx::ASString const&, Scaleform::ArrayLH<Scaleform::GFx::SwfEvent*, 260, Scaleform::ArrayDefaultPolicy> const*, void const*, unsigned int, unsigned int, Scaleform::GFx::CharacterCreateInfo*, Scaleform::GFx::InteractiveObject*) + 217 (in libgfxunity3d) [0x11db60c9]
56 non-virtual thunk to Scaleform::GFx::AS3::AvmSprite::AddDisplayObject(Scaleform::GFx::CharPosInfo const&, Scaleform::GFx::ASString const&, Scaleform::ArrayLH<Scaleform::GFx::SwfEvent*, 260, Scaleform::ArrayDefaultPolicy> const*, void const*, unsigned int, unsigned int, Scaleform::GFx::CharacterCreateInfo*, Scaleform::GFx::InteractiveObject*) + 172 (in libgfxunity3d) [0x117c47ac]
56 Scaleform::GFx::AS3::AvmSprite::AddDisplayObject(Scaleform::GFx::CharPosInfo const&, Scaleform::GFx::ASString const&, Scaleform::ArrayLH<Scaleform::GFx::SwfEvent*, 260, Scaleform::ArrayDefaultPolicy> const*, void const*, unsigned int, unsigned int, Scaleform::GFx::CharacterCreateInfo*, Scaleform::GFx::InteractiveObject*) + 4295 (in libgfxunity3d) [0x117c46c7]
56 Scaleform::GFx::AS3::AvmDisplayObj::OnAdded(bool) + 591 (in libgfxunity3d) [0x117be8df]
56 Scaleform::GFx::AS3::AvmDisplayObjContainer::PropagateEvent(Scaleform::GFx::AS3::Instances::fl_events::Event const&, bool) + 67 (in libgfxunity3d) [0x117c1783]
56 Scaleform::GFx::AS3::AvmDisplayObj::PropagateEvent(Scaleform::GFx::AS3::Instances::fl_events::Event const&, bool) + 218 (in libgfxunity3d) [0x117bd2ca]
56 Scaleform::GFx::AS3::Instances::fl_events::EventDispatcher::Dispatch(Scaleform::GFx::AS3::Instances::fl_events::Event*, Scaleform::GFx::DisplayObject*) + 112 (in libgfxunity3d) [0x11a71820]
56 Scaleform::GFx::AS3::Instances::fl_events::EventDispatcher::DoDispatchEvent(Scaleform::GFx::AS3::Instances::fl_events::Event*, Scaleform::GFx::DisplayObject*) + 306 (in libgfxunity3d) [0x11a6daa2]
56 Scaleform::GFx::AS3::Instances::fl_events::EventDispatcher::DispatchSingleEvent(Scaleform::GFx::AS3::Instances::fl_events::Event*, bool) + 599 (in libgfxunity3d) [0x11a70c37]
56 Scaleform::GFx::AS3::VM::ExecuteUnsafe(Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value&, unsigned int, Scaleform::GFx::AS3::Value const*) + 154 (in libgfxunity3d) [0x119fd43a]
56 Scaleform::GFx::AS3::VM::ExecuteInternalUnsafe(Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value&, unsigned int, Scaleform::GFx::AS3::Value const*, bool) + 1644 (in libgfxunity3d) [0x1182771c]
56 Scaleform::GFx::AS3::VM::ExecuteMethodIndUnsafe(Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value&, unsigned int, Scaleform::GFx::AS3::Value const*, bool, int) + 455 (in libgfxunity3d) [0x11852fb7]
56 Scaleform::GFx::AS3::VM::ExecuteAndRetrieveResult(Scaleform::GFx::AS3::Value&) + 77 (in libgfxunity3d) [0x1188d57d]
56 Scaleform::GFx::AS3::VM::ExecuteCode(unsigned int) + 5901 (in libgfxunity3d) [0x117b61bd]
56 Scaleform::GFx::AS3::VM::exec_callmethod(unsigned int, unsigned int) + 257 (in libgfxunity3d) [0x117cf041]
56 Scaleform::GFx::AS3::VM::ExecuteVTableIndUnsafe(unsigned int, Scaleform::GFx::AS3::Traits const&, Scaleform::GFx::AS3::Value&, unsigned int, Scaleform::GFx::AS3::Value const*) + 700 (in libgfxunity3d) [0x11826e0c]
56 Scaleform::GFx::AS3::VM::ExecuteThunkUnsafe(Scaleform::GFx::AS3::ThunkInfo const&, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value&, unsigned int, Scaleform::GFx::AS3::Value const*, bool) + 319 (in libgfxunity3d) [0x11852d2f]
56 Scaleform::GFx::AS3::ThunkFunc1<Scaleform::GFx::AS3::Instances::fl_events::EventDispatcher, 1ul, bool, Scaleform::GFx::AS3::Instances::fl_events::Event*>::Func(Scaleform::GFx::AS3::ThunkInfo const&, Scaleform::GFx::AS3::VM&, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value&, unsigned int, Scaleform::GFx::AS3::Value const*) + 298 (in libgfxunity3d) [0x11a85a8a]
56 Scaleform::GFx::AS3::Instances::fl_events::EventDispatcher::dispatchEvent(bool&, Scaleform::GFx::AS3::Instances::fl_events::Event*) + 1532 (in libgfxunity3d) [0x11a6d35c]
56 Scaleform::GFx::AS3::Instances::fl_events::EventDispatcher::DoDispatchEvent(Scaleform::GFx::AS3::Instances::fl_events::Event*, Scaleform::GFx::DisplayObject*) + 426 (in libgfxunity3d) [0x11a6db1a]
56 Scaleform::GFx::AS3::Instances::fl_events::EventDispatcher::ExecuteBubblePhase(Scaleform::GFx::AS3::Instances::fl_events::Event*, Scaleform::ArrayStaticBuff<Scaleform::GFx::AS3::SPtr<Scaleform::GFx::AS3::Instances::fl_display::DisplayObject>, 32, 2>&) + 124 (in libgfxunity3d) [0x11a719fc]
56 Scaleform::GFx::AS3::Instances::fl_events::EventDispatcher::DispatchSingleEvent(Scaleform::GFx::AS3::Instances::fl_events::Event*, bool) + 599 (in libgfxunity3d) [0x11a70c37]
56 Scaleform::GFx::AS3::VM::ExecuteUnsafe(Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value&, unsigned int, Scaleform::GFx::AS3::Value const*) + 154 (in libgfxunity3d) [0x119fd43a]
56 Scaleform::GFx::AS3::VM::ExecuteInternalUnsafe(Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value&, unsigned int, Scaleform::GFx::AS3::Value const*, bool) + 1644 (in libgfxunity3d) [0x1182771c]
56 Scaleform::GFx::AS3::VM::ExecuteMethodIndUnsafe(Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value&, unsigned int, Scaleform::GFx::AS3::Value const*, bool, int) + 455 (in libgfxunity3d) [0x11852fb7]
56 Scaleform::GFx::AS3::VM::ExecuteAndRetrieveResult(Scaleform::GFx::AS3::Value&) + 77 (in libgfxunity3d) [0x1188d57d]
56 Scaleform::GFx::AS3::VM::ExecuteCode(unsigned int) + 5901 (in libgfxunity3d) [0x117b61bd]
56 Scaleform::GFx::AS3::VM::exec_callmethod(unsigned int, unsigned int) + 257 (in libgfxunity3d) [0x117cf041]
56 Scaleform::GFx::AS3::VM::ExecuteVTableIndUnsafe(unsigned int, Scaleform::GFx::AS3::Traits const&, Scaleform::GFx::AS3::Value&, unsigned int, Scaleform::GFx::AS3::Value const*) + 700 (in libgfxunity3d) [0x11826e0c]
56 Scaleform::GFx::AS3::VM::ExecuteThunkUnsafe(Scaleform::GFx::AS3::ThunkInfo const&, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value&, unsigned int, Scaleform::GFx::AS3::Value const*, bool) + 319 (in libgfxunity3d) [0x11852d2f]
56 Scaleform::GFx::AS3::ThunkFunc2<Scaleform::GFx::AS3::Instances::fl_display::MovieClip, 14ul, Scaleform::GFx::AS3::Value const, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value const&>::Func(Scaleform::GFx::AS3::ThunkInfo const&, Scaleform::GFx::AS3::VM&, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value&, unsigned int, Scaleform::GFx::AS3::Value const*) + 401 (in libgfxunity3d) [0x11963851]
56 Scaleform::GFx::AS3::Instances::fl_display::MovieClip::gotoAndStop(Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value const&, Scaleform::GFx::AS3::Value const&) + 761 (in libgfxunity3d) [0x11942439]
56 Scaleform::GFx::AS3::MovieRoot::QueueFrameActions() + 36 (in libgfxunity3d) [0x117dd1d4]
56 Scaleform::GFx::AS3::Stage::QueueFrameActions() + 36 (in libgfxunity3d) [0x117c7664]
56 Scaleform::GFx::AS3::FrameCounter::QueueFrameActions() + 387 (in libgfxunity3d) [0x117c6133]
56 Scaleform::GFx::AS3::ToAvmDisplayObj(Scaleform::GFx::DisplayObject*) + 53 (in libgfxunity3d) [0x1194ced5]
56 Scaleform::GFx::DisplayObject::IsAVM2() const + 23 (in libgfxunity3d) [0x1198f897]
56 Scaleform::GFx::DisplayObject::GetAVMVersion() const + 26 (in libgfxunity3d) [0x1198f8ca]
56 ??? [0xffffffff]
56 _sigtramp + 43 (in libsystem_c.dylib) [0x9aa8f59b]
56 mono_sigsegv_signal_handler + 667 (in libmono.0.dylib) [0xd0d65b]
56 mono_chain_signal + 135 (in libmono.0.dylib) [0xe6fcc7]
56 ??? (in Earth Under Siege) [0x3138b5]
56 abort + 167 (in libsystem_c.dylib) [0x9aa2abdd]
56 ??? [0xffffffff]
56 _sigtramp + 43 (in libsystem_c.dylib) [0x9aa8f59b]
56 sigabrt_signal_handler + 134 (in libmono.0.dylib) [0xe70876]
56 ??? (in Earth Under Siege) [0x0]

Model: iMac9,1, BootROM IM91.008D.B08, 2 processors, Intel Core 2 Duo, 2.66 GHz, 4 GB, SMC 1.44f0
Graphics: NVIDIA GeForce 9400, NVIDIA GeForce 9400, PCI, 256 MB
Memory Module: BANK 0/DIMM0, 2 GB, DDR3, 1067 MHz, 0x802C, 0x31364A53463235363634485A2D3147314631
Memory Module: BANK 1/DIMM0, 2 GB, DDR3, 1067 MHz, 0x802C, 0x31364A53463235363634485A2D3147314631
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x8E), Broadcom BCM43xx 1.0 (5.106.198.19.22)
Bluetooth: Version 4.0.8f17, 2 service, 18 devices, 1 incoming serial ports
Network Service: Ethernet, Ethernet, en0
Serial ATA Device: WDC WD3200AAJS-40H3A0, 320.07 GB
Serial ATA Device: OPTIARC DVD RW AD-5670S
USB Device: Keyboard Hub, apple_vendor_id, 0x1005, 0x24100000 / 3
USB Device: Apple Keyboard, apple_vendor_id, 0x021d, 0x24120000 / 4
USB Device: Built-in iSight, apple_vendor_id, 0x8502, 0x24400000 / 2
USB Device: IR Receiver, apple_vendor_id, 0x8242, 0x04500000 / 2
USB Device: Microsoft Basic Optical Mouse v2.0, 0x045e (Microsoft Corporation), 0x00cb, 0x06400000 / 3
USB Device: BRCM2046 Hub, 0x0a5c (Broadcom Corp.), 0x4500, 0x06100000 / 2
USB Device: Bluetooth USB Host Controller, apple_vendor_id, 0x8215, 0x06110000 / 6

Tags (1)
Message 4 of 6
beneton
in reply to: beneton

I think I know why the crash happens. 

It is still a scaleform bug, but there is a way to avoid it.

 

I have a GameHudController.swf that loads all other game hud elements, all SWF files.

 

So I have this structure:

GameHudController.swf

  -- PlayerHealth.swf

  -- HealthbarController.swf

  -- etc...

 

All loaded SWF send an ExternalInterface to Unity, and Unity capture them for the future.

 

So I have this structure:

GameHudController.cs

  Value playerHealth

  Value healthbarController

 

 

When I need to change the players health, or add a new healthbar, or update a healthbar, I make GameHudController Invoke a method. 

Exemple:

 

playerHealth.Invoke("UpdateHealth", newHealth);

 

This was working fine, until I got lots of Invoke calls on that HealthbarController. 

In my game many enemies are created, updated and destroyed in a few frames.

I figured that calling all those Invokes would be a performance issue, but it was not that bad actually. But after 2min - 10min I got the same SIGILL error.

 

So I gave up calling Invoke on LOADED swfs.

If I need to Invoke something, it BETTER be on GameHudController.swf, because thats the only swf that has a mirror class extending Movie in Unity.

 

Now I'm keeping all logic in the Unity side and using ONLY Direct API calls to modify those loaded SWFs.

This is very limiting sometimes and I hope Scaleform will fix the issue.

Message 5 of 6
beneton
in reply to: beneton

One last thing, I'm very disapointed with scaleform support. it's been 2 day and we have NO comment from any scaleform dev.

The forum is the only support available, and it's a desert in here.

This way is pretty hard to develop using Scaleform. 

 

I hope the community people in Scaleform start paying more attetion to the public. Especially if they want Scaleform to be popular in the indie scenario.

Tags (1)
Message 6 of 6
RichMC
in reply to: danilonishimura

From Unity Development:

 

A few questions

 

-          Is this reproducible by simply calling Invoke repeatedly for a certain number of times?
-          Have you stripped down your project in order to narrow this down?
-          Would you be able to provide a focused reproduction case that clearly displays the problem?
 
 
Richard Mc
Autodesk Gameware
Scaleform Division

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report