To anyone that arrives here: 
It is fixed with this patch -> 
https://github.com/emscripten-core/emscripten/pull/12102 (merge pending), I 
also tested it and it works beautifully!


On Wednesday, August 19, 2020 at 8:32:06 AM UTC+1 Segmentation Fault Error 
wrote:

> Hello,
> in the OP I have a full demo you could check. I also left more info here: 
> https://github.com/emscripten-core/emscripten/issues/11914 
>
> I think I got into this situation by force, since spawning threads from a 
> webworker was not originally working: if you create the Module on your 
> webworker, the thread-workers will start executing your webworker's code 
> which can corrupt its onmessage event (replaced by yours!).
>
> If spawning threads from a webworker is not allowed from the beginning, 
> what alternatives do we have to execute arbitrary threaded-functions that 
> can lock the UI?
>
> On Wednesday, August 19, 2020 at 12:50:42 AM UTC+1 [email protected] 
> wrote:
>
>> Segmentation,
>> The update have solved the issue to you? is possible an example code how 
>> are you doing that?
>> Thanks
>>
>> Em terça-feira, 18 de agosto de 2020 às 11:46:17 UTC-3, 
>> [email protected] escreveu:
>>
>>> Oh! Yes, it seems so. Thanks for the link!
>>>
>>> On Tuesday, August 18, 2020 at 3:09:25 PM UTC+1 [email protected] 
>>> wrote:
>>>
>>>> Hi,
>>>> I think there is an issue for this :
>>>> https://github.com/emscripten-core/emscripten/issues/11914
>>>>
>>>>
>>>> On Mon, Aug 17, 2020 at 3:42 PM 'Sam Clegg' via emscripten-discuss <
>>>> [email protected]> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Mon, Aug 17, 2020 at 3:28 AM Segmentation Fault Error <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Should this issue be raised in the emsdk repo? or left aside, until 
>>>>>> we have a final release of the threads feature?
>>>>>>
>>>>>>
>>>>> Thread support in emscripten is officially released and available.  
>>>>>  If you find bugs then opening a bug in the emscripten repo (not the 
>>>>> emsdk 
>>>>> repo) is probably the right way to go.
>>>>>
>>>>> cheers,
>>>>> sam
>>>>>  
>>>>>
>>>>>> On Wednesday, July 29, 2020 at 12:26:14 PM UTC+1 Segmentation Fault 
>>>>>> Error wrote:
>>>>>>
>>>>>>> Toying with this concept I realized that some operations cannot be 
>>>>>>> performed if you launch a thread from a Web Worker.
>>>>>>>
>>>>>>> A simpler example, following my setup linked in the OP:
>>>>>>>
>>>>>>> #include <pthread.h>
>>>>>>> #include <stdio.h>
>>>>>>> #include <emscripten.h>
>>>>>>>
>>>>>>> void *thread(void *arg) 
>>>>>>> {
>>>>>>>     printf("Hello from thread!\n"); // Execution hangs here if 
>>>>>>> Module is instantiated in a Web Worker
>>>>>>>     return NULL;
>>>>>>> }
>>>>>>>
>>>>>>> EMSCRIPTEN_KEEPALIVE void doSomething() 
>>>>>>> {
>>>>>>>     pthread_t thr;
>>>>>>>     pthread_create(&thr, NULL, thread, NULL);
>>>>>>> }
>>>>>>>
>>>>>>> To me it seems like it gets locked on spawning threads, IO, ... I 
>>>>>>> guess this is not expected behavior, and that this can happen because 
>>>>>>> WASM 
>>>>>>> threads is a WIP feature. Is there anything else I could do here?
>>>>>>>
>>>>>>> Cheers,
>>>>>>> SFE
>>>>>>>
>>>>>>> On Friday, July 24, 2020 at 5:35:43 PM UTC+1 [email protected] 
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Interesting, so this can use pthreads from the main thread ok, but 
>>>>>>>> not when starting from a pthread?
>>>>>>>>
>>>>>>>> That is a less-tested use case, so it's possible you've run into a 
>>>>>>>> bug. Building with -s PTHREADS_DEBUG may help with extra logging. But 
>>>>>>>> it 
>>>>>>>> may be best to try to reduce this to a small testcase, as it may need 
>>>>>>>> to be 
>>>>>>>> debugged in depth.
>>>>>>>>
>>>>>>>> On Thu, Jul 23, 2020 at 7:46 AM Segmentation Fault Error <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hello everyone,
>>>>>>>>>
>>>>>>>>>  
>>>>>>>>>
>>>>>>>>> I have been using for a while emscripten to compile a large 
>>>>>>>>> library. Since its operations take long time, I moved the module to a 
>>>>>>>>> web 
>>>>>>>>> worker, where I can call functions without blocking the UI. And it 
>>>>>>>>> has 
>>>>>>>>> worked fantastic so far!
>>>>>>>>>
>>>>>>>>>  
>>>>>>>>>
>>>>>>>>> To further improve performance, I then enabled pthreads in the 
>>>>>>>>> toolchain. I noticed then that the execution got stuck. Somehow this 
>>>>>>>>> issue 
>>>>>>>>> does not occur if the module is executed on the main UI thread, 
>>>>>>>>> instead of 
>>>>>>>>> the web worker.
>>>>>>>>>
>>>>>>>>>  
>>>>>>>>>
>>>>>>>>> I have left a link below, to the demo code on how to reproduce the 
>>>>>>>>> issue: a function that launches a thread, that launches several 
>>>>>>>>> threads. It 
>>>>>>>>> happens that this second level never gets executed if the function 
>>>>>>>>> was 
>>>>>>>>> called from a web worker.
>>>>>>>>>
>>>>>>>>>  
>>>>>>>>>
>>>>>>>>> Maybe I am missing something here, any idea?
>>>>>>>>>
>>>>>>>>>  
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>>
>>>>>>>>> SFE
>>>>>>>>>
>>>>>>>>> Link: 
>>>>>>>>> https://drive.google.com/file/d/1EtkdRBN1Y8QpsRE19BH5AePAD3VLAV6U/view?usp=sharing
>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>>> Groups "emscripten-discuss" 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/emscripten-discuss/141a16e4-647e-484c-b36a-8db45addaec8o%40googlegroups.com
>>>>>>>>>  
>>>>>>>>> <https://groups.google.com/d/msgid/emscripten-discuss/141a16e4-647e-484c-b36a-8db45addaec8o%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>> .
>>>>>>>>>
>>>>>>>> -- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "emscripten-discuss" 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/emscripten-discuss/df1255b4-7a74-4b00-9ea7-300ec039c5b6n%40googlegroups.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/emscripten-discuss/df1255b4-7a74-4b00-9ea7-300ec039c5b6n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>> -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "emscripten-discuss" 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/emscripten-discuss/CAL_va2-jXJingg7HZehLFFtBG24dT0uijNUo0J%2BZhbq-YKPf6w%40mail.gmail.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2-jXJingg7HZehLFFtBG24dT0uijNUo0J%2BZhbq-YKPf6w%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" 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/emscripten-discuss/6d81762a-ac53-466a-ab16-a00e2ef84302n%40googlegroups.com.

Reply via email to