# HG changeset patch # User farvidsson # Date 1427703019 -7200 # Node ID e8999e87feae063b79a5af4f5538c815d0f3dc10 # Parent cdecfa325d0cad39add94ead45a247d7f1430900 8076154: com/sun/jdi/InstanceFilter.java failing due to missing MethodEntryRequest calls Summary: Some jdi tests are failing due to missing MethodEntryRequest events during the test execution. Reviewed-by: sla, jbachorik diff -r cdecfa325d0c -r e8999e87feae jdk/test/com/sun/jdi/InstanceFilter.java --- a/jdk/test/com/sun/jdi/InstanceFilter.java Sun Mar 29 09:21:15 2015 -0400 +++ b/jdk/test/com/sun/jdi/InstanceFilter.java Mon Mar 30 10:10:19 2015 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -104,7 +104,10 @@ return; } if (theThis == null) { - // This happens when the thread has exited. + // This happens when the thread has exited or when a + // static method is called. Setting an instance + // filter does not prevent this event from being + // emitted with a this that is null. methodEntryRequest.disable(); return; } @@ -138,6 +141,10 @@ EventRequestManager mgr = vm().eventRequestManager(); methodEntryRequest = mgr.createMethodEntryRequest(); methodEntryRequest.addInstanceFilter(theInstance); + // Thread filter is needed to prevent MethodEntry events + // to be emitted by the debugee when a static method + // is called on any thread. + methodEntryRequest.addThreadFilter(bpe.thread()); methodEntryRequest.enable(); listenUntilVMDisconnect();