other.test_emcc3 and other.test_single_file are broken [ci skip]
diff --git a/src/postamble.js b/src/postamble.js
index 53c2bd8..6e11607 100644
--- a/src/postamble.js
+++ b/src/postamble.js
@@ -442,7 +442,7 @@
   throw 'abort(' + what + '). Build with -s ASSERTIONS=1 for more info.';
 #else
   var extra = '';
-  var output = 'abort(' + what + ') at ' + stackTrace() + extra;
+  var output = 'abort(' + what + ') at ' + (new Error().stack) + extra;
   if (abortDecorators) {
     abortDecorators.forEach(function(decorator) {
       output = decorator(output, what);
diff --git a/src/preamble.js b/src/preamble.js
index 0035c67..24cf0ef 100644
--- a/src/preamble.js
+++ b/src/preamble.js
@@ -851,13 +851,8 @@
 var cyberDWARFFile = '{{{ BUNDLED_CD_DEBUG_FILE }}}';
 #endif
 
-#include "URIUtils.js"
-
 #if WASM
-var wasmBinaryFile = '{{{ WASM_BINARY_FILE }}}';
-if (!isDataURI(wasmBinaryFile)) {
-  wasmBinaryFile = locateFile(wasmBinaryFile);
-}
+var wasmBinaryFile = locateFile('{{{ WASM_BINARY_FILE }}}');
 
 function getBinary() {
   try {
diff --git a/src/shell.js b/src/shell.js
index 9b410c4..a496430 100644
--- a/src/shell.js
+++ b/src/shell.js
@@ -98,11 +98,13 @@
 #endif
 #endif
 
+#include "URIUtils.js"
+
 // `/` should be present at the end if `scriptDirectory` is not empty
 var scriptDirectory = '';
 function locateFile(path) {
 #if expectToReceiveOnModule('locateFile')
-  if (Module['locateFile']) {
+  if (Module['locateFile'] && !isDataURI(path)) {
     return Module['locateFile'](path, scriptDirectory);
   }
 #endif
diff --git a/tools/gen_struct_info.py b/tools/gen_struct_info.py
index 29ad775..39cb67e 100755
--- a/tools/gen_struct_info.py
+++ b/tools/gen_struct_info.py
@@ -401,7 +401,7 @@
   # Compile the program.
   show('Compiling generated code...')
   # -Oz optimizes enough to avoid warnings on code size/num locals
-  cmd = [shared.PYTHON, shared.EMCC] + cpp_opts + ['-o', js_file[1], src_file[1], '-s', 'BOOTSTRAPPING_STRUCT_INFO=1', '-s', 'WARN_ON_UNDEFINED_SYMBOLS=0', '-O0', '--js-opts', '0', '--memory-init-file', '0', '-s', 'SINGLE_FILE=1', '-Wno-format']
+  cmd = [shared.PYTHON, shared.EMCC] + cpp_opts + ['-o', js_file[1], src_file[1], '-s', 'BOOTSTRAPPING_STRUCT_INFO=1', '-s', 'WARN_ON_UNDEFINED_SYMBOLS=0', '-O0', '--js-opts', '0', '--memory-init-file', '0', '-s', 'SINGLE_FILE=0', '-Wno-format']
   if not shared.Settings.WASM_BACKEND:
     cmd += ['-s', 'WASM=0']
   if not shared.Settings.WASM_OBJECT_FILES: