Bill 4909685 was the one that did not close, the balance owed was $.20.
The bug can be reproduced using grocery bills as follows.
Retrieve a patron that owes no money.
Add a billing of $.90
Add a billing of $.10
Select both billings
Enter $1 in payment received and Apply the payment
Click on History in the billings screen. Turn on the Total Billed and Transaction Finish Time column and note that the $.10 bill has zero balance owed, but does not have a transaction finish time.
There appears to be a floating point number problem that is at least partially responsible for this bug.
I found activity.log entries for applied payments that look like this:
2019-08-12 18:16:10 brick3 osrf_websocket_ translator: [ACT:142032: ./osrf_ websocket_ translator. c:785:156564233 61420321156] [10.108.10.77] [] open-ils.circ open-ils. circ.money. payment "60fc9b26b9fdc7 c0c0ccdcda0eb66 0fe", {"userid" :"1983487" ,"note" :"","payment_ type":" forgive_ payment" ,"check_ number" :null," payments" :[[15447046, 1.3],[4909522, 1],[5048999, 0.1],[4909625, 0.55],[ 4909684, 0.2],[4909685, 0.1999999999999 998]]," patron_ credit" :0,"cc_ args":null} , "1473201970. 2223321125. 3967675516"
Bill 4909685 was the one that did not close, the balance owed was $.20.
The bug can be reproduced using grocery bills as follows.
Retrieve a patron that owes no money.
Add a billing of $.90
Add a billing of $.10
Select both billings
Enter $1 in payment received and Apply the payment
Click on History in the billings screen. Turn on the Total Billed and Transaction Finish Time column and note that the $.10 bill has zero balance owed, but does not have a transaction finish time.
Patch is forthcoming.