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.
