Proguard repeatedly applies the "Number of removed write-only fields:" optimization.
In my example, every optimization pass from #5 onwards claims to have removed five write-only fields.
Additionally, some of the passes include "Number of removed instructions: -1". This appears to be nondeterministic behavior, and it has intermittently appeared on passes #12, #16, and #21.
Proguard verbose log: https://pastebin.com/VF5Qyxzt
Steps to reproduce:
git clone https://github.com/leijurv/Kitteh2.git
cd Kitteh2
git checkout proguard-bug
git pull
ant jar
java -jar ~/Downloads/proguard6.0.3/lib/proguard.jar @kitteh2.pro -verbose
Java version: 1.8.0_152
Proguard version: 6.0.3
Ant version: 1.10.1
Platform: Mac OSX High Sierra 10.13.4
As well as the github link with source code, here is the built jar and proguard config file that causes this behavior
Also, as far as I can tell, the final output jar still functions properly.
The problem has been fixed in 6.2.0, I verified it also on your sample project.
Thanks for the report and sample.