This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 60313

Summary: Hidden incompatible change in RequestProcessor.Task
Product: platform Reporter: Martin Matula <mmatula>
Component: -- Other --Assignee: Petr Nejedly <pnejedly>
Status: RESOLVED FIXED    
Severity: blocker CC: apireviews, jtulach
Priority: P1    
Version: 5.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:
Bug Depends on:    
Bug Blocks: 59904, 60305, 60311    

Description Martin Matula 2005-06-21 09:43:19 UTC
Integration of fix for issue 33467 introduced an incompatible change in
RequestProcessor.Task.cancel() which is hard to find and detect. The cancel()
metohd now interrupts a thread - it did not do so in the past and even JavaDoc
does not state that this is the case. This caused several regressions - issue
59904, issue 60305 (in javacore there is a class named RequestPoster that makes
use of the cancel() method to make sure that only a single request of a given
kind is in the queue - i.e. if several requests of the same kind are posted to
the request processor, RequestPoster preserves just the last one - cancels the
previous queued requests, but it cannot cancel running requests, since this may
cause problems).
Given the changes suggested in 33467 are incompatible, I suggest to fix that
issue by breaking a binary compatibility. Otherwise there may be hidden problems
that are hard to reproduce and debug - it took several days to debug issue 59904
(suddenly some IO operations from MDR started to throw weird IO exceptions).
Comment 1 Martin Matula 2005-06-21 09:53:18 UTC
Another issue that seems to be caused by this is issue 60311.
Comment 2 Petr Nejedly 2005-06-21 13:24:15 UTC
Rolled back impl of 33467 for now.
Comment 3 Jesse Glick 2005-06-21 17:55:08 UTC
*** Issue 59882 has been marked as a duplicate of this issue. ***
Comment 4 Tomas Hurka 2005-06-22 13:05:09 UTC
Rollback of issue 33467 is incorrect, because it rolled back additional changes done in 
RequestProcessor after fix of issue 33467.



Exception in thread "Overriddens Queue" java.util.MissingResourceException: Can't find resource for 
bundle org.openide.util.NbBundle$PBundle, key EXC_IN_REQUEST_PROCESSOR
        at java.util.ResourceBundle.getObject(ResourceBundle.java:326)
        at java.util.ResourceBundle.getString(ResourceBundle.java:286)
        at org.openide.util.NbBundle.getMessage(NbBundle.java:615)
        at org.openide.util.RequestProcessor$Processor.doNotify(RequestProcessor.java:831)
        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:813)
Comment 5 Petr Nejedly 2005-06-24 10:31:12 UTC
Already caught and fixed both in trunk and Q branch
Comment 6 Jesse Glick 2005-06-27 08:05:16 UTC
*** Issue 60256 has been marked as a duplicate of this issue. ***