Program: 16279
Project: 16279
Buggy source:
private synchronized void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {
  s.defaultReadObject();
  Object def=s.readObject();
  if (def instanceof String) {
    LanguageDefinition langdef=null;
    try {
      langdef=LanguageDefinition.lookup((String)def);
    }
 catch (    DefinitionNotFoundException ex) {
    }
    if (langdef != null) {
      _def=langdef.getComponentDefinitionIfAny((String)s.readObject());
    }
 else {
      s.readObject();
      _def=null;
    }
  }
 else {
    _def=(ComponentDefinition)def;
  }
  if (_def == null)   _def=ComponentsCtrl.DUMMY;
  for (AbstractComponent q=null; ; ) {
    final AbstractComponent child=(AbstractComponent)s.readObject();
    if (child == null) {
      if (_chdinf != null)       _chdinf.last=q;
      break;
    }
    ++initChildInfo().nChild;
    if (q != null)     q._next=child;
 else     _chdinf.first=child;
    child._prev=q;
    child._parent=this;
    q=child;
  }
  if (_auxinf == null)   return;
  attrs();
  final Map<String,Object> attrmap=_auxinf.attrs.getAttributes();
  Serializables.smartRead(s,attrmap);
  final List<ScopeListener> attrlns=_auxinf.attrs.getListeners();
  Serializables.smartRead(s,attrlns);
  if (attrmap.isEmpty() && attrlns.isEmpty())   _auxinf.attrs=null;
 else   if (_parent != null)   _auxinf.attrs.notifyParentChanged(_parent);
  _auxinf.listeners=EventListenerInfo.read(s,this);
  if (this instanceof IdSpace) {
    _auxinf.spaceInfo=new SpaceInfo();
    if (!isAutoId(_id))     bindToIdSpace(this);
    for (AbstractComponent ac=(AbstractComponent)getFirstChild(); ac != null; ac=ac._next)     addToIdSpacesDown(ac,(IdSpace)this);
  }
  didDeserialize(attrmap.values());
  didDeserialize(attrlns);
  didDeserialize(_auxinf.ausvc=(AuService)s.readObject());
}

Fixed version (ground truth):
private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {
  s.defaultReadObject();
  Object def=s.readObject();
  if (def instanceof String) {
    LanguageDefinition langdef=null;
    try {
      langdef=LanguageDefinition.lookup((String)def);
    }
 catch (    DefinitionNotFoundException ex) {
    }
    if (langdef != null) {
      _def=langdef.getComponentDefinitionIfAny((String)s.readObject());
    }
 else {
      s.readObject();
      _def=null;
    }
  }
 else {
    _def=(ComponentDefinition)def;
  }
  if (_def == null)   _def=ComponentsCtrl.DUMMY;
  for (AbstractComponent q=null; ; ) {
    final AbstractComponent child=(AbstractComponent)s.readObject();
    if (child == null) {
      if (_chdinf != null)       _chdinf.last=q;
      break;
    }
    ++initChildInfo().nChild;
    if (q != null)     q._next=child;
 else     _chdinf.first=child;
    child._prev=q;
    child._parent=this;
    q=child;
  }
  if (_auxinf == null)   return;
  attrs();
  final Map<String,Object> attrmap=_auxinf.attrs.getAttributes();
  Serializables.smartRead(s,attrmap);
  final List<ScopeListener> attrlns=_auxinf.attrs.getListeners();
  Serializables.smartRead(s,attrlns);
  if (attrmap.isEmpty() && attrlns.isEmpty())   _auxinf.attrs=null;
 else   if (_parent != null)   _auxinf.attrs.notifyParentChanged(_parent);
  _auxinf.listeners=EventListenerInfo.read(s,this);
  if (this instanceof IdSpace) {
    _auxinf.spaceInfo=new SpaceInfo();
    if (!isAutoId(_id))     bindToIdSpace(this);
    for (AbstractComponent ac=(AbstractComponent)getFirstChild(); ac != null; ac=ac._next)     addToIdSpacesDown(ac,(IdSpace)this);
  }
  didDeserialize(attrmap.values());
  didDeserialize(attrlns);
  didDeserialize(_auxinf.ausvc=(AuService)s.readObject());
}