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