RFR 8020675: invalid jar file in the bootclasspath could lead	to jvm fatal error
    David Holmes 
    david.holmes at oracle.com
       
    Thu Aug 22 17:21:03 PDT 2013
    
    
  
Hi Calvin,
I'm having trouble keeping track of this one ...
On 23/08/2013 8:55 AM, Calvin Cheung wrote:
> Note that the synopsis of the bug has been changed from:
> "Trying to print to a pdf file with PDFill PDF&Image Writer 10.0 Build 4"
>
> bug link: https://bugs.openjdk.java.net/browse/JDK-8020675
>
> I've included the suggestions from Coleen and Ioi in this version of
> webrev:
>      http://cr.openjdk.java.net/~ccheung/8020675/webrev/
I don't understand your _has_error logic:
  325   ClassPathEntry* cpe = resolve_entry(CHECK_NULL);
  326   if (cpe == NULL) {
  327     _has_error = true;
  328     return NULL;
we will only hit line 327 if resolve_entry returns NULL _without_ there 
being an exception pending. How does that occur? What is different about 
the two cases regardless?
And we still have this sequence:
void ClassLoader::initialize() {
   assert(_package_hash_table == NULL, "should have been initialized by 
now.");
   EXCEPTION_MARK;
   ...
   setup_bootstrap_search_path();
     -> update_class_path_entry_list(path, false);
       ->  create_class_path_entry((char *)path, st, &new_entry, 
LazyBootClassLoader, CHECK);
So if we return after the call to create_class_path_entry with an 
exception pending we will crash when we hit the EXCEPTION_MARK. Why 
doesn't this happen?
Thanks,
David
> Tests:
>      jprt
>          (in progress - only about 30 tests left on the windows
> platforms, no failure so far;
>           a previous run with only Coleen's suggestions was successful)
>
>      vm.quick.testlist on linux_x64
>
> Please review.
>
> thanks,
> Calvin
    
    
More information about the hotspot-runtime-dev
mailing list