Thanks for your help Brion, This is happening during the initial setup of Module on main thread.
I’ll see if I can create a smaller test project that breaks the same way. -------------------------------------- Scott > On May 11, 2018, at 10:38 AM, Brion Vibber <[email protected]> wrote: > > On Fri, May 11, 2018 at 9:54 AM Scott Watson <[email protected] > <mailto:[email protected]>> wrote: > I've been struggling with an issue with embind. I have a media player that I > am building with emscripten. Ultimately I need this to run as WASM, but I > need pthreads. While I've been waiting for pthread support in WASM, I've > been building to asm.js and debugging. Everything seems to be working, > although the performance isn't great but that was expected. > > I'm not too sure how embind is handled in multiple threads, will take a peek > shortly and refresh my memory... > > I'm getting to the point now where I want to test out WASM. I am using the > incoming branch of emscripten and the firefox nightly build. However, when I > use -s WASM=1 I get > > uncaught exception: BindingError: Cannot register public name '' twice > > The call stack looks like this: > > throwBindingError <- exposePublicSymbol <- __embind_register_enum > > So it looks like it trying to setup the binding for one of my enums. I have > a few enums. The name of the enum is blank (""), so I can't tell which one > it's crapping out on. > [snip] > > > > EMSCRIPTEN_BINDINGS(MediaPlayer) { > > using namespace emscripten; > > enum_<Arris::MediaPlayerState>("MediaPlayerState") > .value("PlayerStateStopped", > Arris::MediaPlayerState::PlayerStateStopped) > [snip] > > Hmm, the 'name' seen in exposePublicSymbol should be the exported name passed > in explicitly from the bindings, which for these enum bindings is > 'MediaPlayerState' etc. If you're seeing '' there, it's most likely that > there's a failure to extract the string from the heap, for instance by having > a pointer to a null byte, and it's happening multiple times (hence > discovering the conflict on the second symbol). > > Is this happening on the main thread, in a worker, or both? > > I'd recommend trimming down the code to try to produce a minimal test case if > you can; I can't seem to reproduce the error with just the bindings given > above, building for pthreads and starting a worker pool but not actually > running anything on them yet. > > -- brion > > -- > 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/Uv2rB72I9QI/unsubscribe > <https://groups.google.com/d/topic/emscripten-discuss/Uv2rB72I9QI/unsubscribe>. > To unsubscribe from this group and all its topics, send an email to > [email protected] > <mailto:[email protected]>. > For more options, visit https://groups.google.com/d/optout > <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.
