I fixed the traceback output by manually calling python's traceback functions. The traceback gives a line for what caused the spurious constructor calls. It is the evaluation of a java constant. There is nothing else in the traceback between the java constant and the constructor. I move the java constant evaluation to static scope, instead of inside a method. The java-to-python library I am using is pyjnius. It is widely use in all kivy android applications. Last I checked, it was no longer maintained, but I talked about that in their community a little and some people who weren't familiar with it but had access merged some pull requests. I believe those merges haven't been released yet and aren't likely in the code I am using. It's 05:48 -0500 and 'here I go' trying the constructor logging with the java constants accessed at module scope!