I try to run program with this function (just run it), looks that they doing something, but again I got same error (and ~same stacktrace). Stacktrace: uncaught exception: abort(-12) at jsStackTrace@http://localhost:8000/Build/Demo-Debug/Demo.js:1176:13 stackTrace@http://localhost:8000/Build/Demo-Debug/Demo.js:1193:22 abort@http://localhost:8000/Build/Demo-Debug/Demo.js:243925:44 _free@http://localhost:8000/Build/Demo-Debug/Demo.js:112914:15 DemoLib/asm._free@http://localhost:8000/Build/Demo-Debug/Demo.js:243611:8 __embind_register_std_string/<.destructorFunction@http://localhost:8000/Build/Demo-Debug/Demo.js:5480:47 Demo$loadJSON@http://localhost:8000/Build/Demo-Debug/Demo.js line 11926 > Function:8:1 @http://localhost:8000/:57:13
This error happened during an emterpreter-async save or load of the stack. Was there non-emterpreted code on the stack during save (which is unallowed)? You may want to adjust EMTERPRETIFY_BLACKLIST, EMTERPRETIFY_WHITELIST. This is what the stack looked like when we tried to save it: 1,DemoLib/EmterpreterAsync.handle@http://localhost:8000/Build/Demo-Debug/Demo.js:8956:40 _emscripten_wget_data@http://localhost:8000/Build/Demo-Debug/Demo.js:10516:7 emterpret@http://localhost:8000/Build/Demo-Debug/Demo.js:69760:6 _loadImageSync@http://localhost:8000/Build/Demo-Debug/Demo.js:187039:2 emterpret@http://localhost:8000/Build/Demo-Debug/Demo.js:62954:6 __ZN17DemoImageLoader9loadImageEP7NString@http://localhost:8000/Build/Demo-Debug/Demo.js:198517:2 emterpret@http://localhost:8000/Build/Demo-Debug/Demo.js:23477:11 __ZN16DemoJSONParser10parseBrushEP7NObject@http://localhost:8000/Build/Demo-Debug/Demo.js:198527:2 emterpret@http://localhost:8000/Build/Demo-Debug/Demo.js:23422:11 __ZN16DemoJSONParser9parseJSONEP11NDictionaryP7NObject@http://localhost:8000/Build/Demo-Debug/Demo.js:160452:2 emterpret@http://localhost:8000/Build/Demo-Debug/Demo.js:62866:6 __ZN6Demo8loadJSONERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE@http://localhost:8000/Build/Demo-Debug/Demo.js:149758:2 emterpret@http://localhost:8000/Build/Demo-Debug/Demo.js:14579:6 __ZN10emscripten8internal13MethodInvokerIM6DemoFvRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEvPS2_JSB_EE6invokeERKSD_SE_PNS0_11BindingTypeIS9_EUt_E@http://localhost:8000/Build/Demo-Debug/Demo.js:124597:2 dynCall_viii@http://localhost:8000/Build/Demo-Debug/Demo.js:236591:2 dynCall_viii_3574@http://localhost:8000/Build/Demo-Debug/Demo.js line 8328 > Function:2:12 Demo$loadJSON@http://localhost:8000/Build/Demo-Debug/Demo.js line 11926 > Function:7:1 @http://localhost:8000/:57:13 May be I use Emterpret wrong? In Makefile: DEBUG_OPTS = $(COMMON_OPTS) -O0 -g2 -D__DEBUG__ -Wno-sign-compare -Wno-unknown-pragmas --bind -s ALLOW_MEMORY_GROWTH=1 --profiling-funcs -s EMTERPRETIFY=1 -s EMTERPRETIFY_ASYNC=1 DEBUG_LINKER_OPTS = -s DEMANGLE_SUPPORT=1 -s EXPORT_NAME=\"'DemoLib'\" -s MODULARIZE=1 -s STB_IMAGE=1 Code now looks like: unsigned char buffer[MAX_BUFFER_MEMORY]; int pnum = 0; int perror = 0; emscripten_wget_data(url, (void**)(&buffer), &pnum, &perror); Log("pnum = %d", "perror = %d", pnum, perror); Any suggestions? P.S. I use IMG_Load to decode loaded image, that why I try to use without _data methods. среда, 25 января 2017 г., 10:45:55 UTC+5 пользователь Alon Zakai написал: > > Looks like we supported emscripten_wget_data in emterpreter mode, but not > emscripten_wget (without _data). Should be fixed in > > https://github.com/kripken/emscripten/pull/4886 > > Does that make it work for you? > > On Tue, Jan 24, 2017 at 8:13 AM, Евгений Чудинов <[email protected] > <javascript:>> wrote: > >> I try to load image from url. >> My code looks like (c++): >> extern "C" void loadImageSync(const char *url, const char *fileName) >> { >> emscripten_wget(url, fileName); >> } >> This work, but with -s ASYNCFY=1 size of result JS file become ~130mb >> (It was ~3mb before). This is too heavy for me and I try to use >> emscripten_async_wget and emscripten_sleep/emscripten_sleep_with_yield >> like: >> loadImage_fileLoaded = false; >> emscripten_async_wget(url, fileName, &loadImage_onLoad, >> &loadImage_onError); >> while (!loadImage_fileLoaded) { >> emscripten_sleep(10); >> } >> And this not work. I try to use -s EMTERPRETIFY=1 -s EMTERPRETIFY_ASYNC=1 >> and get error about "add functions to whitelist" -- but as far as I >> understand, this link flags add everything to whitelist. >> >> Error message: >> This error happened during an emterpreter-async save or load of the >> stack. Was there non-emterpreted code on the stack during save (which is >> unallowed)? You may want to adjust EMTERPRETIFY_BLACKLIST, >> EMTERPRETIFY_WHITELIST. >> Ok, lets add this (that listed in stacktrace) functions to whitelist. But >> at any added function I get undefined error. >> What I need to do? How to load image sync and safe ~small size of file? >> >> -- >> 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] <javascript:>. >> 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.
