Milan Holub wrote:
If you check the timeline we've received conclicting packet after 0.000696 sec. Which I think was a duplicate packet due to some network problem. Packet 11920 was in the middle of processing(finished writing into detail file, but not yet written to database). Segmentation fault occured when another request was received.
Ok. Two issues. If the client is sending two packets within the same second, using the same (source ip, port, code, id), then he client is broken. It should either wait for a timeout (~30s), or for the reply from the first request, before sending the second request. The second issue is I've updated the code. Previously it didn't remove the old request from the hash in some cases, resulting in the crash. It now removes the request always, which should avoid the crash. Alan DeKok.