Why Quickfix SeqNums out of sequence occasionally

I am use Quickfix/.Net engine and appear to send SeqNums out of sequence occasionally.

Why might this be happening? The timestamps on the left always show that this issue happens when messages are sent within same millisecond.

20200918-02:34:10.113 : 8=FIX.4.4 9=225 35=D 34=12213 49=CLIENT 52=20200918-02:34:10.113 56=SERVER 11=BB-FSXXXU-M10!516263-200918T002011000106 38=250000 40=D 44=0.73169 54=2 55=EGGS 59=3 60=20200918-02:34:10.113 278=2uK1320094998927491073_0+ 10=245

20200918-02:34:10.114 : 8=FIX.4.4 9=0325 35=8 49=SERVER 56=CLIENT 34=15517 52=20200918-02:34:10.120 37=O20200918L3N2000006275 17=E20200918L3N2000007908 150=A 39=A 55=EGGS 54=2 11=BB-FSXXXU-M10!516263-200918T002011000106 38=250000 44=0.73169 151=250000 14=0 32=0 31=0 6=0 278=2uK1320094998927491073_0+ 40=D 15=A 59=3 60=20200918-02:34:10.113 10=080

20200918-02:34:10.120 : 8=FIX.4.4 9=0399 35=8 49=SERVER 56=CLIENT 34=15518 52=20200918-02:34:10.127 37=O20200918L3N2000006275 198=POA0YJPVDJY5Z4 17=E20200918L3N2000007911 527=QOA0YTPVDJJYVV 150=2 39=2 55=EGGS 54=2 11=BB-FSXXXU-M10!516263-200918T002011000106 64=20200922 38=250000 44=0.73169 151=0 14=250000 32=250000 31=0.73169 6=0.73169 278=2uK1320094998927491073_0+ 40=D 15=A 59=3 60=20200918-02:34:10.126 30=XXXU 10=110

20200918-02:34:40.195 : 8=FIX.4.4 9=224 35=D 34=12215 49=CLIENT 52=20200918-02:34:40.195 56=SERVER 11=BB-XXXJ-M40!516265-200918T002011000107 38=400000 40=D 44=0.73179 54=2 55=EGGS 59=3 60=20200918-02:34:40.129 278=22s#1600396479503#3040+ 10=114

20200918-02:34:40.195 : 8=FIX.4.4 9=71 35=0 34=12214 49=CLIENT 52=20200918-02:34:40.125 56=SERVER 10=242

20200918-02:34:40.195 : 8=FIX.4.4 9=0071 35=0 49=SERVER 56=CLIENT 34=15519 52=20200918-02:34:40.197 10=102

20200918-02:34:40.206 : 8=FIX.4.4 9=0084 35=2 49=SERVER 56=CLIENT 34=15520 52=20200918-02:34:40.202 7=12214 16=0 10=155

20200918-02:34:40.232 : 8=FIX.4.4 9=117 35=4 34=12214 43=Y 49=CLIENT 52=20200918-02:34:40.222 56=SERVER 122=20200918-02:34:40.222 36=12215 123=Y 10=237

20200918-02:34:40.232 : 8=FIX.4.4 9=255 35=D 34=12215 43=Y 49=CLIENT 52=20200918-02:34:40.218 56=SERVER 122=20200918-02:34:40.195 11=BB-XXXJ-M40!516265-200918T002011000107 38=400000 40=D 44=0.73179 54=2 55=EGGS 59=3 60=20200918-02:34:40.129 278=22s#1600396479503#3040+ 10=116

20200918-02:34:40.329 : 8=FIX.4.4 9=226 35=D 34=12216 49=CLIENT 52=20200918-02:34:40.328 56=SERVER 11=BB-XXXJ-M40!516264-200918T002011000108 38=400000 40=D 44=76.721 54=2 55=PIES 59=3 60=20200918-02:34:40.328 278=22s#1600396479530#1051600+ 10=221

If there’s a technical mailing list for QuickFIX .NET this might get better responses there. If it’s sending them out on the wire in the wrong order then it’s probably a bug - it might be just the nature of async logging so I would check from a packet capture if you can.

They are sent out on the wire in the wrong order, it is not just a logging issue. I get resend requests from the counterparty for that very reason.