Buggy code:
public abstract class Getdown extends Thread implements Application . StatusDisplay , ImageLoader { public static void main ( String [ ] args ) { } public Getdown ( File appDir , String appId ) { } public Getdown ( File appDir , String appId , List < Certificate > signers , String [ ] jvmargs , String [ ] appargs ) { } public void preInit ( ) { } @ Override public void run ( ) { } public void configureProxy ( String host , String port ) { } protected boolean detectProxy ( ) { } protected void setProxyProperties ( String host , String port ) { } protected void getdown ( ) { } public void updateStatus ( String message ) { } public BufferedImage loadImage ( String path ) { } protected void updateJava ( ) throws IOException , InterruptedException { Resource vmjar = _app . getJavaVMResource ( ) ; if ( vmjar == null ) { throw new IOException ( "m.java_download_failed" ) ; } reportTrackingEvent ( "jvm_start" , ( - 1 ) ) ; updateStatus ( "m.downloading_java" ) ; List < Resource > list = new ArrayList < Resource > ( ) ; list . add ( vmjar ) ; download ( list ) ; reportTrackingEvent ( "jvm_unpack" , ( - 1 ) ) ; updateStatus ( "m.unpacking_java" ) ; if ( ! ( vmjar . unpack ( ) ) ) { throw new IOException ( "m.java_unpack_failed" ) ; } vmjar . markAsValid ( ) ; if ( ! ( RunAnywhere . isWindows ( ) ) ) { String vmbin = ( ( ( ( LaunchUtil . LOCAL_JAVA_DIR ) + ( File . separator ) ) + "bin" ) + ( File . separator ) ) + "java" ; String [ ] cmd = new String [ ] { "chmod" , "a+rx" , _app . getLocalPath ( vmbin ) . toString ( ) } ; try { Log . log . info ( ( "Please<seq2seq4repair_space>smack<seq2seq4repair_space>a<seq2seq4repair_space>Java<seq2seq4repair_space>engineer.<seq2seq4repair_space>Running:<seq2seq4repair_space>" + ( Arrays . asList ( cmd ) ) ) ) ; Runtime . getRuntime ( ) . exec ( cmd ) ; } catch ( Exception e ) { Log . log . warning ( "Failed<seq2seq4repair_space>to<seq2seq4repair_space>mark<seq2seq4repair_space>VM<seq2seq4repair_space>binary<seq2seq4repair_space>as<seq2seq4repair_space>executable" , "cmd" , cmd , "error" , e ) ; } } String vmpath = LaunchUtil . getJVMPath ( _app . getLocalPath ( "" ) ) ; try { Log . log . info ( ( ( "Regenerating<seq2seq4repair_space>classes.jsa<seq2seq4repair_space>for<seq2seq4repair_space>" + vmpath ) + "..." ) ) ; <START_BUG> Runtime . getRuntime ( ) . exec ( ( vmpath + "<seq2seq4repair_space>-Xshare:dump" ) ) ; <END_BUG> } catch ( Exception e ) { Log . log . warning ( "Failed<seq2seq4repair_space>to<seq2seq4repair_space>regenerate<seq2seq4repair_space>.jsa<seq2seq4repair_space>dum<seq2seq4repair_space>file" , "error" , e ) ; } reportTrackingEvent ( "jvm_complete" , ( - 1 ) ) ; } protected void update ( ) throws IOException , InterruptedException { } protected void download ( List < Resource > resources ) throws IOException , InterruptedException { } protected void launch ( ) { } protected void createInterface ( final boolean reinit ) { } protected void initInterface ( ) { } protected void initPlayAgain ( ) { } protected RotatingBackgrounds getBackground ( ) { } protected Image getProgressImage ( ) { } protected void handleWindowClose ( ) { } protected void fail ( String message ) { } protected void setStep ( Step step ) { } protected int stepToGlobalPercent ( int percent ) { } protected void setStatus ( final String message , final int percent , final long remaining , boolean createUI ) { } protected void reportTrackingEvent ( String event , int progress ) { } protected abstract Container createContainer ( ) { } protected abstract void showContainer ( ) { } protected abstract void disposeContainer ( ) { } protected boolean invokeDirect ( ) { } protected JApplet getApplet ( ) { } protected abstract void showDocument ( String url ) { } protected abstract void exit ( int exitCode ) { } protected static void copyStream ( InputStream in , PrintStream out ) { } protected class ProgressReporter extends Thread { public ProgressReporter ( URL url ) { } @ Override public void run ( ) { } protected URL _url ; } protected ProgressObserver _progobs = new ProgressObserver ( ) { public void progress ( int percent ) { } } ; protected Application _app ; protected UpdateInterface _ifc = new Application . UpdateInterface ( ) ; protected ResourceBundle _msgs ; protected Container _container ; protected JLayeredPane _layers ; protected StatusPanel _status ; protected JButton _patchNotes ; protected JButton _playAgain ; protected AbortPanel _abort ; protected RotatingBackgrounds _background ; protected boolean _dead ; protected boolean _silent ; protected boolean _launchInSilent ; protected long _startup ; protected boolean _enableTracking = true ; protected int _reportedProgress = 0 ; protected int _delay ; protected int _stepMaxPercent ; protected int _stepMinPercent ; protected int _lastGlobalPercent ; protected int _uiDisplayPercent ; protected static final int MAX_LOOPS = 5 ; protected static final long MIN_EXIST_TIME = 5000L ; protected static final long FALLBACK_CHECK_TIME = 1000L ; protected static final long PLAY_AGAIN_TIME = 3000L ; protected static final String PROXY_REGISTRY = "Software\\Microsoft\\Windows\\CurrentVersion\\Internet<seq2seq4repair_space>Settings" ; }

Fix:
Runtime . getRuntime ( ) . exec ( new String [ ] { vmpath , "-Xshare:dump" } ) ;