Buggy code:
public abstract class AjAttribute { public static final String AttributePrefix = "org.aspectj.weaver" ; protected abstract void write ( DataOutputStream s ) throws IOException ; public abstract String getNameString ( ) { } public char [ ] getNameChars ( ) { } public byte [ ] getBytes ( ) { } public byte [ ] getAllBytes ( short nameIndex ) { } public static AjAttribute read ( AjAttribute . WeaverVersionInfo v , String name , byte [ ] bytes , ISourceContext context , World w ) { } public static class AjSynthetic extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.AjSynthetic" ; public String getNameString ( ) { } public AjSynthetic ( ) { } public void write ( DataOutputStream s ) throws IOException { } } public static class TypeMunger extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.TypeMunger" ; public String getNameString ( ) { } private ResolvedTypeMunger munger ; public TypeMunger ( ResolvedTypeMunger munger ) { } public void write ( DataOutputStream s ) throws IOException { munger . write ( s ) ; } public ConcreteTypeMunger reify ( World world , ResolvedType aspectType ) { } } public static class WeaverState extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.WeaverState" ; public String getNameString ( ) { } private WeaverStateInfo kind ; public WeaverState ( WeaverStateInfo kind ) { } public void write ( DataOutputStream s ) throws IOException { kind . write ( s ) ; } public WeaverStateInfo reify ( ) { } } public static class WeaverVersionInfo extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.WeaverVersion" ; public static short WEAVER_VERSION_MAJOR_UNKNOWN = 0 ; public static short WEAVER_VERSION_MINOR_UNKNOWN = 0 ; public static short WEAVER_VERSION_MAJOR_AJ121 = 1 ; public static short WEAVER_VERSION_MINOR_AJ121 = 0 ; public static short WEAVER_VERSION_MAJOR_AJ150M4 = 3 ; public static short WEAVER_VERSION_MAJOR_AJ150 = 2 ; public static short WEAVER_VERSION_MINOR_AJ150 = 0 ; private static short CURRENT_VERSION_MAJOR = AjAttribute . WeaverVersionInfo . WEAVER_VERSION_MAJOR_AJ150M4 ; private static short CURRENT_VERSION_MINOR = AjAttribute . WeaverVersionInfo . WEAVER_VERSION_MINOR_AJ150 ; public static final AjAttribute . WeaverVersionInfo UNKNOWN = new AjAttribute . WeaverVersionInfo ( AjAttribute . WeaverVersionInfo . WEAVER_VERSION_MAJOR_UNKNOWN , AjAttribute . WeaverVersionInfo . WEAVER_VERSION_MINOR_UNKNOWN ) ; private short major_version ; private short minor_version ; private long buildstamp = Version . NOTIME ; public String getNameString ( ) { } public WeaverVersionInfo ( ) { } public WeaverVersionInfo ( short major , short minor ) { } public void write ( DataOutputStream s ) throws IOException { s . writeShort ( AjAttribute . WeaverVersionInfo . CURRENT_VERSION_MAJOR ) ; s . writeShort ( AjAttribute . WeaverVersionInfo . CURRENT_VERSION_MINOR ) ; <START_BUG> s . writeLong ( time ) ; <END_BUG> } public static AjAttribute . WeaverVersionInfo read ( VersionedDataInputStream s ) throws IOException { } public short getMajorVersion ( ) { } public short getMinorVersion ( ) { } public static short getCurrentWeaverMajorVersion ( ) { } public static short getCurrentWeaverMinorVersion ( ) { } public void setBuildstamp ( long stamp ) { } public long getBuildstamp ( ) { } public String toString ( ) { } public static String toCurrentVersionString ( ) { } } public static class SourceContextAttribute extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.SourceContext" ; public String getNameString ( ) { } private String sourceFileName ; private int [ ] lineBreaks ; public SourceContextAttribute ( String sourceFileName , int [ ] lineBreaks ) { } public void write ( DataOutputStream s ) throws IOException { s . writeUTF ( sourceFileName ) ; FileUtil . writeIntArray ( lineBreaks , s ) ; } public static AjAttribute . SourceContextAttribute read ( VersionedDataInputStream s ) throws IOException { } public int [ ] getLineBreaks ( ) { } public String getSourceFileName ( ) { } } public static class MethodDeclarationLineNumberAttribute extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.MethodDeclarationLineNumber" ; public String getNameString ( ) { } private int lineNumber ; private int offset ; public MethodDeclarationLineNumberAttribute ( int line , int offset ) { } public int getLineNumber ( ) { } public int getOffset ( ) { } public void write ( DataOutputStream s ) throws IOException { s . writeInt ( lineNumber ) ; s . writeInt ( offset ) ; } public static AjAttribute . MethodDeclarationLineNumberAttribute read ( VersionedDataInputStream s ) throws IOException { } public String toString ( ) { } } public static class PointcutDeclarationAttribute extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.PointcutDeclaration" ; public String getNameString ( ) { } private ResolvedPointcutDefinition pointcutDef ; public PointcutDeclarationAttribute ( ResolvedPointcutDefinition pointcutDef ) { } public void write ( DataOutputStream s ) throws IOException { pointcutDef . write ( s ) ; } public ResolvedPointcutDefinition reify ( ) { } } public static class DeclareAttribute extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.Declare" ; public String getNameString ( ) { } private Declare declare ; public DeclareAttribute ( Declare declare ) { } public void write ( DataOutputStream s ) throws IOException { declare . write ( s ) ; } public Declare getDeclare ( ) { } } public static class AdviceAttribute extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.Advice" ; public String getNameString ( ) { } private AdviceKind kind ; private Pointcut pointcut ; private int extraParameterFlags ; private int start ; private int end ; private ISourceContext sourceContext ; private boolean proceedInInners ; private ResolvedMember [ ] proceedCallSignatures ; private boolean [ ] formalsUnchangedToProceed ; private UnresolvedType [ ] declaredExceptions ; public AdviceAttribute ( AdviceKind kind , Pointcut pointcut , int extraArgumentFlags , int start , int end , ISourceContext sourceContext ) { } public AdviceAttribute ( AdviceKind kind , Pointcut pointcut , int extraArgumentFlags , int start , int end , ISourceContext sourceContext , boolean proceedInInners , ResolvedMember [ ] proceedCallSignatures , boolean [ ] formalsUnchangedToProceed , UnresolvedType [ ] declaredExceptions ) { } public static AjAttribute . AdviceAttribute read ( VersionedDataInputStream s , ISourceContext context ) throws IOException { }

Fix:
s . writeLong ( Version . getTime ( ) ) ;