Comment 5 for bug 1781274

Revision history for this message
Michele Morgan (mmorgan) wrote :

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:15656423361420321156] [10.108.10.77] [] open-ils.circ open-ils.circ.money.payment "60fc9b26b9fdc7c0c0ccdcda0eb660fe", {"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.1999999999999998]],"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.