https://bz.apache.org/bugzilla/show_bug.cgi?id=58790
Philippe Mouawad <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] | |om --- Comment #2 from Philippe Mouawad <[email protected]> --- (In reply to Sebb from comment #1) > (In reply to Philippe Mouawad from comment #0) > > Currently there is an issue in ActionRouter#getInstance() > > It returns a partially initialized object so a fix would be to use a local > > object and affect it : > > public static ActionRouter getInstance() { > > if (router == null) { > > synchronized (LOCK) { > > if(router == null) { > > ActionRouter router = new ActionRouter(); > > router.populateCommandMap(); > > ActionRouter.router = router; > > } > > } > > } > > return router; > > } > > Alternatively one could use the IODH idiom. > > > > > But due to CheckDirty using getInstance() in its constructor to register > > itself as a PreAction to ExitCommand, it leads to a StackoverflowError. > > Not sure I follow this. Try you will see > > > Even without fixing this issue, it reveals an issue that could occur if a > > Constructor of an AbstractCommand subclass uses ActionRouter.getInstance() -- You are receiving this mail because: You are the assignee for the bug.
