Just to be very clear this stack trace you pasted shows that asynchronous() is being called on a Service outside of it's start method
org.jboss.msc.service.ServiceControllerImpl$StartContextImpl.asynchronous(ServiceControllerImpl.java:2158)
11:00:23,197 ERROR [stderr] (Controller Boot Thread) at <mypkg>.AbstractModule.startAsync(AbstractModule.java:29) <-- context.asynchronous()
11:00:23,197 ERROR [stderr] (Controller Boot Thread) at <mypkg>l.AsyncTestModuleImpl.start(AsyncTestModuleImpl.java:58)
11:00:23,197 ERROR [stderr] (Controller Boot Thread) at <mypkg>.FrameworkBootstrapService.startModule(FrameworkBootstrapService.java:261)