src/hotspot/share/classfile/systemDictionary.cpp
changeset 51097 bef02342d179
parent 51070 2f4c3cac8556
child 51179 516acf6956a2
equal deleted inserted replaced
51096:695dff91a997 51097:bef02342d179
  2082       // also hold array classes.
  2082       // also hold array classes.
  2083 
  2083 
  2084       assert(check->is_instance_klass(), "noninstance in systemdictionary");
  2084       assert(check->is_instance_klass(), "noninstance in systemdictionary");
  2085       if ((defining == true) || (k != check)) {
  2085       if ((defining == true) || (k != check)) {
  2086         throwException = true;
  2086         throwException = true;
  2087         ss.print("loader %s", java_lang_ClassLoader::describe_external(class_loader()));
  2087         ss.print("loader %s", loader_data->loader_name_and_id());
  2088         ss.print(" attempted duplicate %s definition for %s.",
  2088         ss.print(" attempted duplicate %s definition for %s. (%s)",
  2089                  k->external_kind(), k->external_name());
  2089                  k->external_kind(), k->external_name(), k->class_in_module_of_loader(false, true));
  2090       } else {
  2090       } else {
  2091         return;
  2091         return;
  2092       }
  2092       }
  2093     }
  2093     }
  2094 
  2094 
  2098 #endif
  2098 #endif
  2099 
  2099 
  2100     if (throwException == false) {
  2100     if (throwException == false) {
  2101       if (constraints()->check_or_update(k, class_loader, name) == false) {
  2101       if (constraints()->check_or_update(k, class_loader, name) == false) {
  2102         throwException = true;
  2102         throwException = true;
  2103         ss.print("loader constraint violation: loader %s",
  2103         ss.print("loader constraint violation: loader %s", loader_data->loader_name_and_id());
  2104                  java_lang_ClassLoader::describe_external(class_loader()));
       
  2105         ss.print(" wants to load %s %s.",
  2104         ss.print(" wants to load %s %s.",
  2106                  k->external_kind(), k->external_name());
  2105                  k->external_kind(), k->external_name());
  2107         Klass *existing_klass = constraints()->find_constrained_klass(name, class_loader);
  2106         Klass *existing_klass = constraints()->find_constrained_klass(name, class_loader);
  2108         if (existing_klass->class_loader() != class_loader()) {
  2107         if (existing_klass->class_loader() != class_loader()) {
  2109           ss.print(" A different %s with the same name was previously loaded by %s.",
  2108           ss.print(" A different %s with the same name was previously loaded by %s. (%s)",
  2110                    existing_klass->external_kind(),
  2109                    existing_klass->external_kind(),
  2111                    java_lang_ClassLoader::describe_external(existing_klass->class_loader()));
  2110                    existing_klass->class_loader_data()->loader_name_and_id(),
       
  2111                    existing_klass->class_in_module_of_loader(false, true));
       
  2112         } else {
       
  2113           ss.print(" (%s)", k->class_in_module_of_loader(false, true));
  2112         }
  2114         }
  2113       }
  2115       }
  2114     }
  2116     }
  2115   }
  2117   }
  2116 
  2118