diff -r c095291d722e src/core/model/object-base.cc --- a/src/core/model/object-base.cc Tue Jul 16 07:34:15 2013 -0700 +++ b/src/core/model/object-base.cc Tue Jul 16 12:28:03 2013 -0700 @@ -75,13 +75,29 @@ struct TypeId::AttributeInformation info = tid.GetAttribute(i); NS_LOG_DEBUG ("try to construct \""<< tid.GetName ()<<"::"<< info.name <<"\""); + // is this attribute stored in this AttributeConstructionList instance ? + Ptr value = attributes.Find(info.checker); + // See if this attribute should not be set here in the + // constructor. if (!(info.flags & TypeId::ATTR_CONSTRUCT)) { - continue; + // Handle this attribute if it should not be + // set here. + if (value == 0) + { + // Skip this attribute if it's not in the + // AttributeConstructionList. + continue; + } + else + { + // This is an error because this attribute is not + // settable in its constructor but is present in + // the AttributeConstructionList. + NS_FATAL_ERROR ("Attribute name="< value = attributes.Find(info.checker); if (value != 0) { // We have a matching attribute value.