The problem was that you defined the Knight first. The order of pieces is important in two ways:
if maxPromote=N (default 1) the first N pieces will be promotable
if you don't explicitly assign royalty through a royal=N parameter, the piece defined last is the royal
I guess something went wrong in the attempt to promote the Knight when it left the 1st rank. This in combination with the fact that you defined invalid promoChoice (namely lower case, while the defined piece IDs were all upper case).
The problem was that you defined the Knight first. The order of pieces is important in two ways:
I guess something went wrong in the attempt to promote the Knight when it left the 1st rank. This in combination with the fact that you defined invalid promoChoice (namely lower case, while the defined piece IDs were all upper case).