PDA

View Full Version : [iOS] crash in Surface::LoadRTTexture(unsigned char*)



neox
02-02-2013, 10:29 PM
Hi guys,

lately I had a small break in developing stuff on P++, today after refreshing my small project I found an interesting crash on my iOS device. It's worth to mention that the same is working smoothly on Android JB devices, here're some more details about that crash:

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: EXC_ARM_DA_ALIGN at 0x00784dda
Crashed Thread: 0

Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 xxxxxxxx 0x0000d9b6 Surface::LoadRTTexture(unsigned char*) (Surface.cpp:298)
1 xxxxxxxx 0x0000db5a Surface::LoadFileFromMemory(unsigned char*) (Surface.cpp:365)
2 xxxxxxxx 0x0002cc1a SurfaceAnim::LoadFileFromMemory(unsigned char*) (SurfaceAnim.cpp:53)
3 xxxxxxxx 0x0000f8c6 RTFont::Load(std::string) (RTFont.cpp:124)
4 xxxxxxxx 0x000364d4 App::Init() (App.cpp:171)
5 xxxxxxxx 0x0003198a -[EAGLView initWithCoder:] (EAGLView.mm:79)
6 UIKit 0x367c7dc0 -[UIClassSwapper initWithCoder:] + 208
7 UIKit 0x367c5810 UINibDecoderDecodeObjectForValue + 1692
8 UIKit 0x367c508a -[UINibDecoder decodeObjectForKey:] + 86
9 UIKit 0x367c59b2 -[UIRuntimeConnection initWithCoder:] + 146
10 UIKit 0x367c5810 UINibDecoderDecodeObjectForValue + 1692
11 UIKit 0x367c53e6 UINibDecoderDecodeObjectForValue + 626
12 UIKit 0x367c508a -[UINibDecoder decodeObjectForKey:] + 86
13 UIKit 0x367c314e -[UINib instantiateWithOwner:options:] + 802
14 UIKit 0x367cb1d2 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 134
15 UIKit 0x367f53a2 -[UIApplication _loadMainNibFileNamed:bundle:] + 30
16 UIKit 0x3667e794 -[UIApplication _runWithURL:payload:launchOrientation:statusBarSty le:statusBarHidden:] + 524
17 UIKit 0x36626c34 -[UIApplication handleEvent:withNewEvent:] + 1000
18 UIKit 0x366266c8 -[UIApplication sendEvent:] + 68
19 UIKit 0x36626116 _UIApplicationHandleEvent + 6150
20 GraphicsServices 0x31c4c5a0 _PurpleEventCallback + 588
21 CoreFoundation 0x35f01680 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FU NCTION__ + 12
22 CoreFoundation 0x35f00ee4 __CFRunLoopDoSources0 + 208
23 CoreFoundation 0x35effcb2 __CFRunLoopRun + 642
24 CoreFoundation 0x35e72eb8 CFRunLoopRunSpecific + 352
25 CoreFoundation 0x35e72d44 CFRunLoopRunInMode + 100
26 UIKit 0x3667d478 -[UIApplication _run] + 664
27 UIKit 0x3667a2f4 UIApplicationMain + 1116


I'm using LLVM 4.2 to compile my code, it doesn't happen with -O0 optimization turned on, my device is runnin' with 6.0.1 system.

Does anybody meat the same problem? Thanks in advance.

Seth
02-02-2013, 11:16 PM
Hmm, just to verify, you've updated to the latest SVN version of p+, correct? I do remember an alignment issue that I fixed a while back after Apple changed up the compilers.

neox
02-03-2013, 11:01 AM
Seth, do you remember the # of this submission with the fix for that misalignment problem?
after coming back to the Project I had to sync couple of files to make the target mainly compatible with retina 4" display, my shared source code contains many local modifications so I won't to upgrade all of them...

Seth
02-03-2013, 11:26 AM
Looks to be revision 704 in Surface.cpp:

* (iOS) Had a very strange issue where I was getting mem alignement access errors loading textures, but only on iPhone 3GS and older, and only in release mode. This fixes it