It could be a bug in chrome. I would try to narrow it down and file a
testcase for them.


On Thu, Oct 29, 2015 at 3:58 PM, Pau Ballart <[email protected]> wrote:

> The chrome debugger says:
> [image: Imatge inserida 1]
> And the Firefox:
> [image: Imatge inserida 2]
>
> 2015-10-29 15:49 GMT-07:00 Pau Ballart <[email protected]>:
>
>> Hello,
>>
>> I've been working hard with my implementation and I almost got it.
>> I'd say it's working fine in Safari but I got a DOM exception in Chrome
>> and Firefox and I have no idea why. the DOM Exception doesn't give any
>> message nor error code...
>> The error happens when inside my C code i have an EM_ASM_ARGS() block and
>> inside this I use the Javascript WebCrypto API to decrypt the image. The
>> think is the same decrypt method works when I use it outside emscripten in
>> a normal webpage and inside emscripten it works with Safari! But why it
>> doesn't work in Chrome?
>>
>> Thanks
>>
>> 2015-10-20 21:24 GMT-07:00 Alon Zakai <[email protected]>:
>>
>>> Yes, malloc the space, and memcpy the contents to that space.
>>>
>>> On Tue, Oct 20, 2015 at 8:20 PM, Pau Ballart <[email protected]> wrote:
>>>
>>>> I did some tries with no success.
>>>> If I have this declaration:
>>>> *int p3stuff(char *imgUrl, unsigned char *wrappedkey);*
>>>> How can I make sure the contents of imgUrl will persist even out of the
>>>> scope?
>>>> Because it's a pointer so maybe I need to malloc first the space and
>>>> then memcpy the contents?
>>>> Suppose I have a global var like this *char *imageUrl;* I'd be very
>>>> thankful if you can provide me an example.
>>>>
>>>> 2015-10-20 15:57 GMT-07:00 Alon Zakai <[email protected]>:
>>>>
>>>>> Yes, if you want something to live beyond the current function call,
>>>>> you should use malloc(). That will only be reused after you call free() on
>>>>> it.
>>>>>
>>>>> On Tue, Oct 20, 2015 at 3:51 PM, Pau Ballart <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Updated to 1.35 but same problem...
>>>>>> Maybe the question to formulate would be: How can I save in a
>>>>>> global/static variable some information so that I can acces it later in 
>>>>>> the
>>>>>> callback function and make sure it's not overwritten?
>>>>>> What do you think about using malloc() somehow? Would it work?
>>>>>>
>>>>>> 2015-10-20 14:18 GMT-07:00 Alon Zakai <[email protected]>:
>>>>>>
>>>>>>> Might be worth trying current master (or incoming) then, which is
>>>>>>> now 1.35.0.
>>>>>>>
>>>>>>> On Tue, Oct 20, 2015 at 2:16 PM, Pau Ballart <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> $ emcc -v
>>>>>>>> emcc (Emscripten gcc/clang-like replacement + linker emulating GNU
>>>>>>>> ld) 1.34.8
>>>>>>>> clang version 3.7.0
>>>>>>>> Target: x86_64-apple-darwin15.0.0
>>>>>>>> Thread model: posix
>>>>>>>> INFO     root: (Emscripten: Running sanity checks)
>>>>>>>>
>>>>>>>> 2015-10-20 14:05 GMT-07:00 Alon Zakai <[email protected]>:
>>>>>>>>
>>>>>>>>> One possible issue is that if those values are on the stack, and
>>>>>>>>> the scope exits, then that stack memory might be reused. For example 
>>>>>>>>> this
>>>>>>>>> is unsafe:
>>>>>>>>>
>>>>>>>>> {
>>>>>>>>>   char buffer[100];
>>>>>>>>>   // write into buffer
>>>>>>>>>   emscripten_async_wget(..., (void*)buffer);
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> The buffer will be released before the async callback occurs, and
>>>>>>>>> other data might be written into it before the callback reads from it.
>>>>>>>>>
>>>>>>>>> Which version of emscripten are you using, btw? I remember a while
>>>>>>>>> back we had a bug around this.
>>>>>>>>>
>>>>>>>>> On Tue, Oct 20, 2015 at 1:36 PM, Pau Ballart <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hello,
>>>>>>>>>>
>>>>>>>>>> After some research and some refactor I did the following:
>>>>>>>>>>
>>>>>>>>>>    - In my p3stuff function I
>>>>>>>>>>    call emscripten_set_main_loop(wait_wgets, 0, 0); so the 
>>>>>>>>>> application is not
>>>>>>>>>>    terminated.
>>>>>>>>>>    - In wait_wgets I call the emscripten_async_wget(imageUrl,
>>>>>>>>>>    path, onLoaded, onError); only the first time the method is 
>>>>>>>>>> called.
>>>>>>>>>>    - In the onLoaded callback I
>>>>>>>>>>    call emscripten_cancel_main_loop(); and then I call my c code 
>>>>>>>>>> that perform
>>>>>>>>>>    the jpeg stuff.
>>>>>>>>>>
>>>>>>>>>> Problem is:
>>>>>>>>>> the p3stuff function has 2 arguments: int p3stuff(char *imgUrl,
>>>>>>>>>> unsigned char *wrappedkey)
>>>>>>>>>> When it's called i have two global variables unsigned char
>>>>>>>>>> *wrappedKey; and char *imageUrl; which are assigned with the 
>>>>>>>>>> argument like
>>>>>>>>>> that:
>>>>>>>>>>
>>>>>>>>>> wrappedKey = wrappedkey;
>>>>>>>>>> imageUrl = imgUrl;
>>>>>>>>>>
>>>>>>>>>> I do that in order to access the image url from the wait_wgets()
>>>>>>>>>> or the wrapped key from the onLoaded callback but I think there is 
>>>>>>>>>> some
>>>>>>>>>> memory management problems cause if I print the url just before 
>>>>>>>>>> calling
>>>>>>>>>> emscripten_async_wget the imageUrl variable content is completely 
>>>>>>>>>> rubbish
>>>>>>>>>> but id I don't print anything it works.
>>>>>>>>>>
>>>>>>>>>> So how can I use the global variables in C in order to not get
>>>>>>>>>> overwritten? Maybe using malloc, or memcopy?
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>>
>>>>>>>>>> Pau
>>>>>>>>>>
>>>>>>>>>> 2015-10-19 10:53 GMT-07:00 Pau Ballart <[email protected]>:
>>>>>>>>>>
>>>>>>>>>>> Okay I will try the async version and let you know.
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>>
>>>>>>>>>>> 2015-10-17 19:37 GMT-07:00 Alon Zakai <[email protected]>:
>>>>>>>>>>>
>>>>>>>>>>>> The only tricky thing with emscripten_wget is that as mentioned
>>>>>>>>>>>> in the docs,
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> http://kripken.github.io/emscripten-site/docs/api_reference/emscripten.h.html#c.emscripten_wget
>>>>>>>>>>>>
>>>>>>>>>>>> it requires the ASYNCIFY option. It's easier in general to use
>>>>>>>>>>>> the async version, emscripten_async_wget, which does not require 
>>>>>>>>>>>> ASYNCIFY.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Sat, Oct 17, 2015 at 10:47 AM, Pau Ballart <
>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> I think the php code is correct so I'm just trying to download
>>>>>>>>>>>>> an image and process it's data but I think I'm missing something 
>>>>>>>>>>>>> about the
>>>>>>>>>>>>> lifecycle or wget function because I get unexpected exit errors.
>>>>>>>>>>>>>
>>>>>>>>>>>>> So I'd like to know if the  emscripten_wget(imgUrl, path); is
>>>>>>>>>>>>> correct because I have the weirdest behaviour ever that depending 
>>>>>>>>>>>>> on the
>>>>>>>>>>>>> p3stuff function param "wrappedkey" the download succeeds or
>>>>>>>>>>>>> not.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2015-10-15 17:07 GMT-07:00 Alon Zakai <[email protected]>:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> I see you have
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> P3Func = Module.cwrap('p3stuff', 'number', ['string',
>>>>>>>>>>>>>> 'string']);
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> which looks good.  You can then call it with something like
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> result = P3Func('first', 'second');
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> which I see you are doing. What part of that are you trying
>>>>>>>>>>>>>> to improve?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Thu, Oct 15, 2015 at 12:59 PM, Pau Ballart <
>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Okay so the php is just calling a function I declared.
>>>>>>>>>>>>>>> Because I need to pass the image url as an argument and a key, 
>>>>>>>>>>>>>>> I don't know
>>>>>>>>>>>>>>> how to do it using the main function so I changed the main 
>>>>>>>>>>>>>>> function for
>>>>>>>>>>>>>>> this one with the two arguments and then called this function 
>>>>>>>>>>>>>>> from my php
>>>>>>>>>>>>>>> code.
>>>>>>>>>>>>>>> Is there a better way to call emscripten passing parameters?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 2015-10-15 12:55 GMT-07:00 Alon Zakai <[email protected]>:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> It would be good to focus the question more, it's hard to
>>>>>>>>>>>>>>>> tell what the core issue is. Try to reduce the problem to just 
>>>>>>>>>>>>>>>> one concrete
>>>>>>>>>>>>>>>> thing, like just loading a file, and doing it without that 
>>>>>>>>>>>>>>>> custom PHP
>>>>>>>>>>>>>>>> script, for example.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Thu, Oct 15, 2015 at 12:27 PM, Pau Ballart <
>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hello developers,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I'm starting a project and I'm new at Javascript and
>>>>>>>>>>>>>>>>> emscripten. I'm trying to download some image data from a 
>>>>>>>>>>>>>>>>> server and then
>>>>>>>>>>>>>>>>> process it using some c functions I already have working. I 
>>>>>>>>>>>>>>>>> asked this
>>>>>>>>>>>>>>>>> question in Stackoverflow so I share you the link and maybe 
>>>>>>>>>>>>>>>>> one of you can
>>>>>>>>>>>>>>>>> help me.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> http://stackoverflow.com/questions/33087205/emscripten-code-for-image-data-download-using-emscripten-wget-or-emscripten-asyn
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Pau B
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> 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].
>>>>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout
>>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> You received this message because you are subscribed to a
>>>>>>>>>>>>>>>> topic in the Google Groups "emscripten-discuss" group.
>>>>>>>>>>>>>>>> To unsubscribe from this topic, visit
>>>>>>>>>>>>>>>> https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe
>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>> To unsubscribe from this group and all its topics, send an
>>>>>>>>>>>>>>>> email to [email protected].
>>>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Pau Ballart
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> 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].
>>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> You received this message because you are subscribed to a
>>>>>>>>>>>>>> topic in the Google Groups "emscripten-discuss" group.
>>>>>>>>>>>>>> To unsubscribe from this topic, visit
>>>>>>>>>>>>>> https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe
>>>>>>>>>>>>>> .
>>>>>>>>>>>>>> To unsubscribe from this group and all its topics, send an
>>>>>>>>>>>>>> email to [email protected].
>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Pau Ballart
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> 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].
>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> You received this message because you are subscribed to a topic
>>>>>>>>>>>> in the Google Groups "emscripten-discuss" group.
>>>>>>>>>>>> To unsubscribe from this topic, visit
>>>>>>>>>>>> https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe
>>>>>>>>>>>> .
>>>>>>>>>>>> To unsubscribe from this group and all its topics, send an
>>>>>>>>>>>> email to [email protected].
>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Pau Ballart
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Pau Ballart
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> 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].
>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> You received this message because you are subscribed to a topic in
>>>>>>>>> the Google Groups "emscripten-discuss" group.
>>>>>>>>> To unsubscribe from this topic, visit
>>>>>>>>> https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe
>>>>>>>>> .
>>>>>>>>> To unsubscribe from this group and all its topics, send an email
>>>>>>>>> to [email protected].
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Pau Ballart
>>>>>>>>
>>>>>>>> --
>>>>>>>> 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].
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to a topic in
>>>>>>> the Google Groups "emscripten-discuss" group.
>>>>>>> To unsubscribe from this topic, visit
>>>>>>> https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe
>>>>>>> .
>>>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>>>> [email protected].
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Pau Ballart
>>>>>>
>>>>>> --
>>>>>> 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].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to a topic in the
>>>>> Google Groups "emscripten-discuss" group.
>>>>> To unsubscribe from this topic, visit
>>>>> https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe
>>>>> .
>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>> [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Pau Ballart
>>>>
>>>> --
>>>> 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].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "emscripten-discuss" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe
>>> .
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Pau Ballart
>>
>
>
>
> --
> Pau Ballart
>
> --
> 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].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to