GDataCreateStaticDictionary crashing

16 views
Skip to first unread message

Kamal

unread,
Jul 13, 2010, 9:02:09 PM7/13/10
to Google Data APIs Objective-C Client Library Discussion
I've recently updated to the latest GData API for iPhone 4.0 but am
consistently getting a crash in the GDataObject class. This wasn't
happening in the prior version of the GData API.

Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x00000001, 0x00000000
Crashed Thread: 0

Thread 0 Crashed:
0 MyApp 0x0004f4ac
GDataCreateStaticDictionary + 40
1 MyApp 0x0004f662 +[GDataObject load] + 2
2 libobjc.A.dylib 0x000033c8 call_load_methods +
124
3 libobjc.A.dylib 0x00003138 load_images + 84
4 dyld 0x2fe01a24
dyld::notifySingle(dyld_image_states, ImageLoader const*) + 60
5 dyld 0x2fe09e2e
ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&,
unsigned int, ImageLoader::InitializerTimingList&) + 222
6 dyld 0x2fe0a298
ImageLoader::runInitializers(ImageLoader::LinkContext const&,
ImageLoader::InitializerTimingList&) + 36
7 dyld 0x2fe023d2
dyld::initializeMainExecutable() + 374
8 dyld 0x2fe06b1a
dyld::_main(macho_header const*, unsigned long, int, char const**,
char const**, char const**) + 1790
9 dyld 0x2fe0177e
dyldbootstrap::start(macho_header const*, int, char const**, long) +
538
10 dyld 0x2fe01048 _dyld_start + 32

This doesn't happen in debug mode but does happen in Release and
Distribution mode. I'm assuming it's some sort of configuration in
the build settings but haven't been able to track down what exactly.
Any help would be appreciated.

Thanks.

Thomas Van Lenten

unread,
Jul 13, 2010, 10:46:56 PM7/13/10
to gdata-objec...@googlegroups.com
Trycomparing the command lines used to invoke the compiler between the
two modes, that might help figure out the difference in settings.

TVL

> --
> You received this message because you are subscribed to the Google Groups "Google Data APIs Objective-C Client Library Discussion" group.
> To post to this group, send email to gdata-objec...@googlegroups.com.
> To unsubscribe from this group, send email to gdata-objectivec-...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/gdata-objectivec-client?hl=en.
>
>

Kamal

unread,
Jul 13, 2010, 11:05:44 PM7/13/10
to Google Data APIs Objective-C Client Library Discussion
I've found the issue. It was a setting on the GData project (not my
project). The GData project was being compiled on arm7 whereas my app
was being compiled on arm6.

mr.riddlemefish

unread,
Aug 3, 2010, 7:41:42 AM8/3/10
to Google Data APIs Objective-C Client Library Discussion
I too am experiencing this problem. I'd previously built a "universal
app" for both iPhone/iPad and my app was crashing when run on an
iPhone 4. The GData static lib was built with both arm6 and arm7. It
should have run shouldn't it? Anyway, I've now rebuilt with just arm6,
hoping this will serve as an iPhone 4 version only, but really what is
the problem? Why is this an issue?

Kamal

unread,
Aug 11, 2010, 12:28:46 PM8/11/10
to Google Data APIs Objective-C Client Library Discussion
It's not really an "issue". Older devices (iPhone 2G, 3G, etc) are
based on arm6 (not sure about 3GS). So if you build for arm7, your
app will crash on those devices. A universal app just means that
you're building it for both iPhone/iPod and iPad. It doesn't mean
that if you build for arm7 that it will work on all devices. Building
for arm6 will ensure maximum compatibility since arm7 is backward
compatible. This is the problem that I was having.

On Aug 3, 7:41 am, "mr.riddlemefish" <mr.riddlemef...@gmail.com>
wrote:

peter mason

unread,
Aug 11, 2010, 6:39:45 PM8/11/10
to gdata-objec...@googlegroups.com
Thanks Kamal for the clear explanation. So a "universal app" is best set to "Standard (arm6 arm7)" with valid arch specifying both to capture all the iPhones and the iPad. Indeed, both arms should be the default at this time, I suspect?

Kamal

unread,
Aug 12, 2010, 10:31:43 AM8/12/10
to Google Data APIs Objective-C Client Library Discussion
That's correct. If you set it to "Standard (arm6 arm7)" it should
work on all devices (provided you have the proper target set of
course).
Reply all
Reply to author
Forward
0 new messages