There must be somewhere in your code where you have a dependency on com.google.gwt.event.shared.EventBus rather than com.google.web.bindery.event.shared.EventBus.
What happens is: in the absence of a binding, GIN will use a GWT.create() (contrary to Guice which will fail to build the injector), and com.google.gwt.event.shared.EventBus has no deferred-binding rule (<replace-with> or <generate-with>) so GWT tries to instantiate it with its zero-arg constructor; but EventBus is abstract, so GWT complains.