Hi again,

I don't know exactly why but the next day it was working. Maybe it has to
do with the https connection that may be required.

I have my code finished and ready to move into production. My a.out.js file
sizes 1.9 MB approx. and when using optimization flags as exposed in the
documentation I have a problem. If I use -O1 it works and I get a 1.5 MB
file size. Using -O2 or -O3 produces a file of 400 KB but when I run the
code it doesn't work.
[image: Imatge inserida 1]

Any suggestions?

2015-10-29 17:39 GMT-07:00 Alon Zakai <[email protected]>:

> 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 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.

Reply via email to