Got to the bottom of this. I will reply to this thread in case anyone ever
encounters this. The issue was that I wasn't surrounding the wait() call
with synchronize. Rookie mistake that only shows up on iOS

On Tue, 19 Jan 2021 at 11:11, Marisole Aromatherapy <[email protected]>
wrote:

> Actually, don't worry about this one, I think I know where the problem is
> coming from (can't say for sure until I build and re-sign, but that will
> take 30 mins so just please don't spend any time on this)
>
> Thanks
>
> On Tue, 19 Jan 2021 at 11:00, Marisole Aromatherapy <
> [email protected]> wrote:
>
>> Debugging on xCode shows that calling wait() on a lock throws the error
>> "Thread 22: EXC_BAD_ACCESS (code=1, address=0x78"
>>
>> This is in line nativeMethods.m:1209 (JAVA_VOID
>> java_lang_Object_wait__long_int...)
>>
>> I will continue my investigation, but so far this has shed some light on
>> the causes of this
>>
>> On Tue, 19 Jan 2021 at 08:53, Marisole Aromatherapy <
>> [email protected]> wrote:
>>
>>> Interesting, thanks for this
>>>
>>> On Tue, 19 Jan 2021 at 02:51, Shai Almog <[email protected]> wrote:
>>>
>>>> iOS is generally more sensitive to threading issues so this would make
>>>> sense. But it's hard to help at this abstraction level. The only option is
>>>> debugging this in xcode if you can't think of anything else.
>>>>
>>>> On Tuesday, January 19, 2021 at 2:10:08 AM UTC+2 [email protected]
>>>> wrote:
>>>>
>>>>> Just forgot to add to my previous email that I also tried using
>>>>> synchronize together with wait/notify instead of an EasyThread, but saw 
>>>>> the
>>>>> same issue
>>>>>
>>>>> Thanks
>>>>>
>>>>> Javier
>>>>>
>>>>> On Mon, 18 Jan 2021, 23:51 Marisole Aromatherapy, <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> I come here seeking help after having nearly given up on a threading
>>>>>> problem I face on iOS. Everything works well on Android, but on iOS, very
>>>>>> randomly, the UI freezes and becomes unresponsive
>>>>>>
>>>>>> This happens while running some new code I made that uses intricate
>>>>>> threading mechanisms
>>>>>>
>>>>>> At a high level representation, the code goes like this:
>>>>>>
>>>>>> EasyThread.run -> //queued execution
>>>>>>     FetchDataAsync -> // get stuff from endpoint
>>>>>>         New Thread -> // do stuff away from edt
>>>>>>             LockObject.notify() // signal easyThread can continue
>>>>>>     LockObject.wait()//pause queue until async processing is done
>>>>>>
>>>>>>
>>>>>> I have tripple checked that all UI calls made inside these threads
>>>>>> are made with callSerially
>>>>>>
>>>>>> The problem is so random I can't attribute it to anything in
>>>>>> particular, just know that if I comment this code it goes away
>>>>>>
>>>>>> No worries if nothing comes to mind, but if this is something anyone
>>>>>> has seen before please let me know. Perhaps using wait/notify inside an
>>>>>> EasyThread isn't advisable on iOS?
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Javier
>>>>>>
>>>>> --
>>>> 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/e1e2164b-61a6-468f-881c-abbdaa0ca191n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/codenameone-discussions/e1e2164b-61a6-468f-881c-abbdaa0ca191n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>

-- 
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/CAG90yJ1Yaf913JQap7d64%2BFz_SYSdNTUxsRsoLGPS285_zByGQ%40mail.gmail.com.

Reply via email to