-
Bug
-
Resolution: Fixed
-
P3
-
23
-
b15
This is a collection of various improvements to `COMPARE_BUILD` I have been using lately.
* Introducing `DEBUG_CDS_ARCHIVE` make variable, which is set automatically when using `COMPARE_BUILD`. This will create a detailed log file for the `classes*.jsa` CDS archives creation, to help debug any differences in these files. It is also possible to call `make DEBUG_CDS_ARCHIVE=true` to get this functionality even without running comparisons.
* `otool` on macOS did not include all relevant information.
* We now create modern "unified" diffs using `diff -u` whenever the output is supposed to be seen by the user. For diffs that are processed by the tooling, the traditional style `>`/`<` diffs are still used.
* "Other" files are now getting symlinks as well, to facilitate debugging; and also the diff output is improved.
* Better handling of showing diffs:
The `-vv` argument was too verbose. To see diffs, you also were required to see redundant information about unchanged files, which spammed the log. Now instead you can set `--diffs` to see the diffs but not unchanged files. By default, this is cut after 500 lines, but using `--diffs=full` you can get the whole diffs. Beware that this can cause logs the size of hundereds of MB!
Now `-vv` is aliased to `-v --diffs`, and `COMPARE_BUILD` is run with `--diffs` instead of `-vv` as default.
* And finally, for some reason (merge error?) the file `compare_exceptions.sh.incl` were not properly removed before, just replaced with an emty file. This is now fixed.
* Introducing `DEBUG_CDS_ARCHIVE` make variable, which is set automatically when using `COMPARE_BUILD`. This will create a detailed log file for the `classes*.jsa` CDS archives creation, to help debug any differences in these files. It is also possible to call `make DEBUG_CDS_ARCHIVE=true` to get this functionality even without running comparisons.
* `otool` on macOS did not include all relevant information.
* We now create modern "unified" diffs using `diff -u` whenever the output is supposed to be seen by the user. For diffs that are processed by the tooling, the traditional style `>`/`<` diffs are still used.
* "Other" files are now getting symlinks as well, to facilitate debugging; and also the diff output is improved.
* Better handling of showing diffs:
The `-vv` argument was too verbose. To see diffs, you also were required to see redundant information about unchanged files, which spammed the log. Now instead you can set `--diffs` to see the diffs but not unchanged files. By default, this is cut after 500 lines, but using `--diffs=full` you can get the whole diffs. Beware that this can cause logs the size of hundereds of MB!
Now `-vv` is aliased to `-v --diffs`, and `COMPARE_BUILD` is run with `--diffs` instead of `-vv` as default.
* And finally, for some reason (merge error?) the file `compare_exceptions.sh.incl` were not properly removed before, just replaced with an emty file. This is now fixed.
- relates to
-
JDK-8328236 module_entry in CDS map file has stale value
- Resolved
-
JDK-8328245 Comparison builds are failing due to cdsmap file differences
- Closed