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.
Summary: | AssertionError: Need to normalize /Users/YTN/NetBeansProjects/SpotifyPuzzles/build/classes/spotifypuzzles/zipfsong.class(class java.io.File) was /Users/YTN/NetBeansProjects/SpotifyPuzzles/build/classe | ||
---|---|---|---|
Product: | platform | Reporter: | ytn01 |
Component: | Filesystems | Assignee: | Jaroslav Havlin <jhavlin> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | egeek, exceptions_reporter, fresler, michal.owsiak, sanantone, sflemming, ytn01 |
Priority: | P3 | ||
Version: | 8.0 | ||
Hardware: | All | ||
OS: | Mac OS X | ||
Issue Type: | DEFECT | Exception Reporter: | 186293 |
Attachments: |
stacktrace
stacktrace stacktrace Artificial Test Case Possible fix |
Description
ytn01
2014-01-10 04:00:59 UTC
Created attachment 143768 [details]
stacktrace
Created attachment 143769 [details]
stacktrace
Switched back to netbeas after working on my browser.
This bug already has 5 duplicates see http://statistics.netbeans.org/exceptions/detail.do?id=186293 Created attachment 143770 [details]
stacktrace
Switched to netbeans which was in the background, after working on a web browser.
File name zipfsong.class (lower case 'z') was used instead of Zipfsong.class (upper case 'Z'). Which of the names is correct? Did you work with the file in some other application or process in parallel? Thank you for reporting. *** Bug 240674 has been marked as a duplicate of this bug. *** *** Bug 240659 has been marked as a duplicate of this bug. *** *** Bug 240769 has been marked as a duplicate of this bug. *** *** Bug 240904 has been marked as a duplicate of this bug. *** Created attachment 144341 [details]
Artificial Test Case
I've been able to reproduce the bug only in a test case which seems quite artificial.
If we change case of a file name while the original name is stored in FileObj instance, the assertNormalized will fail (see attached patch).
(However, detection of changed filename case can be costly. Currently we just use File.exists to check file validity during refresh. If we also had to compare canonical names, it would affect performance.)
I haven't managed to reproduce the bug manually in the IDE yet.
It would be very helpful to have real steps to reproduce. So, please, provide any addition information. Thank you.
*** Bug 241110 has been marked as a duplicate of this bug. *** I've managed to reproduce the bug on Mac OS X. Steps: 1. Open or create a Java project 2. Create file NewClass.java 3. Clean and build 4. Rename NewClass.java to Newclass.java (uppercase C to lowercase c) 5. Clean and build *** Bug 241587 has been marked as a duplicate of this bug. *** Created attachment 144988 [details]
Possible fix
A patch that seems to be working fine. But it needs to be tested carefully.
It makes refreshing slower (comparing with normalized names), and some tests fail.
http://hg.netbeans.org/core-main/rev/3b82f107959b Making assertNormalized less strict in some cases on Mac. Thank you for reporting. *** Bug 241683 has been marked as a duplicate of this bug. *** Integrated into 'main-silver', will be available in build *201402120001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/3b82f107959b User: Jaroslav Havlin <jhavlin@netbeans.org> Log: #240180: AssertionError: Need to normalize - Letter case problems on Mac *** Bug 241685 has been marked as a duplicate of this bug. *** *** Bug 241843 has been marked as a duplicate of this bug. *** *** Bug 242112 has been marked as a duplicate of this bug. *** *** Bug 242216 has been marked as a duplicate of this bug. *** *** Bug 242280 has been marked as a duplicate of this bug. *** *** Bug 242378 has been marked as a duplicate of this bug. *** *** Bug 243326 has been marked as a duplicate of this bug. *** |