GetProcAddress Exception when I use -s FETCH=1

19 views
Skip to first unread message

John Raptis

unread,
Aug 3, 2020, 5:00:47 PM8/3/20
to emscripten-discuss
I'm using these flags to build:

-s FETCH=1 -s LEGACY_GL_EMULATION=1 -s GL_FFP_ONLY=1 -Wno-nonportable-include-path -Wno-comment -Wno-write-strings --std=c++0x -s USE_SDL=2 -s USE_LIBPNG=1 -s USE_OGG=1 -s USE_VORBIS=1 -s FORCE_FILESYSTEM=1 -s EXPORT_ALL=1 -s LINKABLE=1 -lopenal -fsigned-char -lidbfs.js -ferror-limit=1 -s USE_PTHREADS=0 -s ALLOW_MEMORY_GROWTH=1 -s WASM=1

If I compile my program with FETCH=0, everything runs normally.  But I want to use fetch!

When I use FETCH=1, even if I comment out all the fetch dependencies I get this exception on startup:

Uncaught RuntimeError: abort(-1) at Error
    at jsStackTrace (http://localhost:8080/index.js:2049:17)
    at stackTrace (http://localhost:8080/index.js:2067:16)
    at abort (http://localhost:8080/index.js:1818:44)
    at _emscripten_GetProcAddress (http://localhost:8080/index.js:10765:55)
    at _eglGetProcAddress (http://localhost:8080/index.js:10768:14)
    at SDL_EGL_GetProcAddress (http://localhost:8080/index.wasm:wasm-function[9853]:0x4bed0d)
    at SDL_GL_GetProcAddress (http://localhost:8080/index.wasm:wasm-function[10037]:0x4cc013)
    at http://localhost:8080/index.wasm:wasm-function[9420]:0x470d0b
    at SDL_CreateRenderer (http://localhost:8080/index.wasm:wasm-function[9346]:0x46b6f3)
    at _ZN13Graphics_Core11Startup_SDLEv (http://localhost:8080/index.wasm:wasm-function[316]:0xbe250)
    at abort (http://localhost:8080/index.js:1824:9)
    at _emscripten_GetProcAddress (http://localhost:8080/index.js:10765:55)
    at _eglGetProcAddress (http://localhost:8080/index.js:10768:14)
    at SDL_EGL_GetProcAddress (http://localhost:8080/index.wasm:wasm-function[9853]:0x4bed0d)
    at SDL_GL_GetProcAddress (http://localhost:8080/index.wasm:wasm-function[10037]:0x4cc013)
    at http://localhost:8080/index.wasm:wasm-function[9420]:0x470d0b
    at SDL_CreateRenderer (http://localhost:8080/index.wasm:wasm-function[9346]:0x46b6f3)

Again, putting FETCH=0 makes it breeze through this.  Is there some kind of incompatibility between Fetch, SDL2, and legacy OpenGL? 

John Raptis

unread,
Aug 5, 2020, 5:32:56 PM8/5/20
to emscripten-discuss
Okay, I did manage to solve this, so putting it here for posterity:

I use FETCH=1 alongside EXPORT_ALL=1 and LINKABLE=1.  When I do that, I get an exception on startup.  If I switch it so I'm only exporting the functions I need to export, it's okay.  So if anyone ever runs into this problem, export your functions discretely!
Reply all
Reply to author
Forward
0 new messages