> appData is a weak reference but nothing is null ((AppData)appData.get()).appVersion
If appData is a weak reference, then appData.get() may be null. On Mon, May 3, 2021 at 6:01 AM 'P5music' via CodenameOne Discussions < [email protected]> wrote: > appVersion is just a string, appData is a weak reference but nothing is > null, as I said the app works outside of the iOS simulator. > I think that it does not like weak references. > What could be the cause of the NPE? Maybe those pointers? > Maybe the weak reference is not created at all in the translated code > (build bug)? > Regards > Il giorno lunedì 3 maggio 2021 alle 13:27:51 UTC+2 Steve Hannah ha scritto: > >> When running with the debugger (in Xcode) it will stop on these error. >> When running normally, it "catches" them and proceeds. >> >> ((AppData)appData.get()).appVersion >> >> That doesn't look safe. You say appData is a weak reference? Then get() >> may return null? Then the .appVersion will be an NPE, which is essentially >> what you're seeing. >> >> On Sun, May 2, 2021 at 11:27 PM 'P5music' via CodenameOne Discussions < >> [email protected]> wrote: >> >>> >>> I compiled my app with maven and generated the iOS Xcode project. >>> When I run it into the iOS simulator (iPad 8th gen) I get this early >>> error: >>> Thread 4: EXC_BAD_ACCESS (code=1, address=0x30) >>> at this instruction >>> return (*(struct >>> obj__com_myapp_app_AppData*)__cn1T).com_myapp_app_AppData_appVersion; >>> Where only the .com_myapp_app_AppData_appVersion part is in red. The iOS >>> build code is below. >>> >>> It happens at >>> ((AppData)appData.get()).appVersion >>> Inside AppJSONData class, that has a weak reference to the AppData >>> instance. >>> That seems to be a CodenameOne internal problem, not of my app, because >>> it does not happen either on the simulator, or on Android, or a real iOS >>> device (32bit). >>> Am I right? >>> What’s happening. How can it be avoided? Should weak references be >>> avoided? I think this one can be removed because it has the same app >>> lifetime, but there are also others that are dynamic. >>> Also it can be something that is wrong in the CN1 maven system to be >>> fixed. >>> Thanks in advance >>> >>> #include "com_myapp_app_AppData.h" >>> #include "com_myapp_app_AppData.h" >>> #include "com_myapp_app_AppJSONData.h" >>> #include "java_io_IOException.h" >>> #include "java_lang_NullPointerException.h" >>> #include "java_lang_String.h" >>> #include "java_lang_ref_WeakReference.h" >>> const struct clazz *base_interfaces_for_com_myapp_app_AppData[] = {}; >>> struct clazz class__com_myapp_app_AppData = { >>> DEBUG_GC_INIT &class__java_lang_Class, 999999, 0, 0, 0, 0, >>> &__FINALIZER_com_myapp_app_AppData ,0 , &__GC_MARK_com_myapp_app_AppData, >>> 0, cn1_class_id_com_myapp_app_AppData, "com.myapp.app.AppData", 0, 0, 0, >>> JAVA_FALSE, &class__java_lang_Object, >>> base_interfaces_for_com_myapp_app_AppData, 0, 0, 0 >>> , 0, 0, 0, 0, 0, 0}; >>> >>> JAVA_OBJECT get_field_com_myapp_app_AppData_appVersion(JAVA_OBJECT >>> __cn1T) { >>> return (*(struct >>> obj__com_myapp_app_AppData*)__cn1T).com_myapp_app_AppData_appVersion; >>> } >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "CodenameOne Discussions" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/codenameone-discussions/c0d25bdf-85a4-4253-ade1-fcaed6c484dbn%40googlegroups.com >>> <https://groups.google.com/d/msgid/codenameone-discussions/c0d25bdf-85a4-4253-ade1-fcaed6c484dbn%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> >> >> -- >> Steve Hannah >> Software Developer >> Codename One >> http://www.codenameone.com >> > -- > You received this message because you are subscribed to the Google Groups > "CodenameOne Discussions" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/codenameone-discussions/0a3f4bbd-c6a1-49e9-90d5-738f88666ea4n%40googlegroups.com > <https://groups.google.com/d/msgid/codenameone-discussions/0a3f4bbd-c6a1-49e9-90d5-738f88666ea4n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- Steve Hannah Software Developer Codename One http://www.codenameone.com -- You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/codenameone-discussions/CAGOYrKU3HYiVPi%3D7DUE0oi1f-CyV4F6V%3Di_mwi5C-H%3D_HPhzPA%40mail.gmail.com.
