sdf2table binary hangs on Windows x64
Upon downloading the latest Spoofax x64 for windows (with bundled JRE), create a new fresh project, using default settings, the builder will hang, task manager shows 2 processes of sdf2table.exe sitting idle (deadlock?) in the task manager not actively consuming cpu. Nothing happens.
Error not present when using the 32bit version of Spoofax2.
See screenshot:
Submitted by Michiel Haisma on 26 April 2016 at 10:33
Issue Log
Probably same issue as https://yellowgrass.org/issue/Spoofax/772, try to temporarily disable your virus scanner.
I’ve tried disabling the (default comes with windows 10) windows defender, but it made no difference.
In the meantime i’ve found out that there is a similar problem I get when building spoofax from the spoofax-relang repo, I get this error:[INFO] > Prepare native executables [INFO] Execute sdf2table [ERROR] Builder failed unexpectedly org.sugarj.common.Exec$ExecutionError: Command failed: C:\Users\michi\AppData\Local\Temp\vfs_cache\tmp_20458_cygwin\sdf2table.exe -t -i C:\Users\michi\code\spoofax-releng\sdf\org.metaborg.meta.lang.template\src-gen\syntax\TemplateLang-permissive.def -m TemplateLang -o C:\Users\michi\code\spoofax-releng\sdf\org.metaborg.meta.lang.template\target\metaborg\sdf.tbl at org.sugarj.common.Exec.runWithPrefix(Exec.java:312) at org.sugarj.common.Exec.run(Exec.java:227) at org.metaborg.spoofax.meta.core.pluto.util.ExecutableCommandStrategy.runInternal(ExecutableCommandStrategy.java:62) at org.metaborg.spoofax.meta.core.pluto.util.ExecutableCommandStrategy.run(ExecutableCommandStrategy.java:57) at org.metaborg.spoofax.meta.core.pluto.build.Sdf2Table.build(Sdf2Table.java:78) at org.metaborg.spoofax.meta.core.pluto.build.Sdf2Table.build(Sdf2Table.java:1) at build.pluto.builder.Builder.triggerBuild(Builder.java:134) at build.pluto.builder.BuildManager.executeBuilder(BuildManager.java:91) at build.pluto.builder.BuildManager.require(BuildManager.java:324) at build.pluto.builder.Builder.requireBuild(Builder.java:215) at build.pluto.builder.Builder.requireBuild(Builder.java:234) at org.metaborg.spoofax.meta.core.pluto.build.main.GenerateSourcesBuilder.build(GenerateSourcesBuilder.java:175) at org.metaborg.spoofax.meta.core.pluto.build.main.GenerateSourcesBuilder.build(GenerateSourcesBuilder.java:1) at build.pluto.builder.Builder.triggerBuild(Builder.java:134) at build.pluto.builder.BuildManager.executeBuilder(BuildManager.java:91) at build.pluto.builder.BuildManager.require(BuildManager.java:324) at build.pluto.builder.BuildManager.requireInitially(BuildManager.java:251) at build.pluto.builder.BuildManagers.build(BuildManagers.java:62) at org.metaborg.spoofax.meta.core.build.LanguageSpecBuilder.plutoBuild(LanguageSpecBuilder.java:248) at org.metaborg.spoofax.meta.core.build.LanguageSpecBuilder.compilePreJava(LanguageSpecBuilder.java:127) at org.metaborg.spoofax.maven.plugin.mojo.PreCompileMojo.execute(PreCompileMojo.java:29) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) [ERROR] Required builder failed org.sugarj.common.Exec$ExecutionError: Command failed: C:\Users\michi\AppData\Local\Temp\vfs_cache\tmp_20458_cygwin\sdf2table.exe -t -i C:\Users\michi\code\spoofax-releng\sdf\org.metaborg.meta.lang.template\src-gen\syntax\TemplateLang-permissive.def -m TemplateLang -o C:\Users\michi\code\spoofax-releng\sdf\org.metaborg.meta.lang.template\target\metaborg\sdf.tbl at org.sugarj.common.Exec.runWithPrefix(Exec.java:312) at org.sugarj.common.Exec.run(Exec.java:227) at org.metaborg.spoofax.meta.core.pluto.util.ExecutableCommandStrategy.runInternal(ExecutableCommandStrategy.java:62) at org.metaborg.spoofax.meta.core.pluto.util.ExecutableCommandStrategy.run(ExecutableCommandStrategy.java:57) at org.metaborg.spoofax.meta.core.pluto.build.Sdf2Table.build(Sdf2Table.java:78) at org.metaborg.spoofax.meta.core.pluto.build.Sdf2Table.build(Sdf2Table.java:1) at build.pluto.builder.Builder.triggerBuild(Builder.java:134) at build.pluto.builder.BuildManager.executeBuilder(BuildManager.java:91) at build.pluto.builder.BuildManager.require(BuildManager.java:324) at build.pluto.builder.Builder.requireBuild(Builder.java:215) at build.pluto.builder.Builder.requireBuild(Builder.java:234) at org.metaborg.spoofax.meta.core.pluto.build.main.GenerateSourcesBuilder.build(GenerateSourcesBuilder.java:175) at org.metaborg.spoofax.meta.core.pluto.build.main.GenerateSourcesBuilder.build(GenerateSourcesBuilder.java:1) at build.pluto.builder.Builder.triggerBuild(Builder.java:134) at build.pluto.builder.BuildManager.executeBuilder(BuildManager.java:91) at build.pluto.builder.BuildManager.require(BuildManager.java:324) at build.pluto.builder.BuildManager.requireInitially(BuildManager.java:251) at build.pluto.builder.BuildManagers.build(BuildManagers.java:62) at org.metaborg.spoofax.meta.core.build.LanguageSpecBuilder.plutoBuild(LanguageSpecBuilder.java:248) at org.metaborg.spoofax.meta.core.build.LanguageSpecBuilder.compilePreJava(LanguageSpecBuilder.java:127) at org.metaborg.spoofax.maven.plugin.mojo.PreCompileMojo.execute(PreCompileMojo.java:29) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Then when I execute the sdf2table.exe by hand, I get this:
$ ./spoofax/org.metaborg.spoofax.nativebundle/target/classes/org/metaborg/spoofax/nativebundle/native/cygwin/sdf2table.exe -t -i C:\Users\michi\code\spoofax-releng\sdf\org.metaborg.meta.lang.template\src-gen\syntax\TemplateLang-permissive.def -m TemplateLang -o C:\Users\michi\code\spoofax-releng\sdf\org.metaborg.meta.lang.template\target\metaborg\sdf.tbl assertion "store != NULL" failed: file "manager.c", line 48 1 [sig] sdf2table 3404 open_stackdumpfile: Dumping stack trace to sdf2table.exe.stackdump
For completion, here’s the content of the stacktrace:
Stack trace: Frame Function Args 02DBC778 73EAE132 (0000017C, 0000EA60, 000000A4, 02DBC86C) 02DBC888 09B3ADB3 (00000000, 00000000, 73EAE0BD, 00000000) 02DBC968 09B37A37 (00000000, 00000000, 00000000, 00000000) 02DBC9B8 09B37E4B (00000D4C, 02DBC9E0, 00000000, 00000000) 02DBCA78 09B37F71 (00000D4C, 00000006, 02DBCAA8, 09B38015) 02DBCA88 09B37FAC (00000006, 02DBCE88, 73EAE0BD, FEDBC54F) 02DBCAA8 09B38015 (09BDD054, 008481B7, 00848170, 00000030) 02DBCAD8 09A8111B (00848170, 00000030, 00000000, 008481B7) 02DBCAF8 09A81187 (00848170, 00000030, 008481B7, 0077B6C8) 02DBCB18 09B35178 (0083CF19, 0C0D1020, 02DBCB48, 09B95837) 02DBCB48 0052B9FA (0C12FE88, 00000000, 02DBCB68, 004712A3) 02DBCB68 00401602 (0C12FE88, 00000000, 00000000, 00401736) 02DBCBA8 00401AEA (00000008, 0C0BA4B8, 0C0A8358, 00008000) 02DBCD68 09A86DDA (00000000, 02DBCDA0, 09A866E0, 00309000) End of stack trace
I’ve built spoofax-releng on Windows yesterday and didn’t run into that, so it is probably something on your computer that is causing problems. Anything that intercepts system calls or memory (like virus scanners), or something that injects code into everything?
Log in to post comments