JNA ping code reuses buffer causing inconsistent reads of packet contents

Description

When receiving ICMP responses, the JNA ping code is reusing the same ByteBuffer for incoming ICMP packets. This can cause false negative ping results if response packets arrive in quick succession because the contents of the earlier packets will be overwritten by subsequent packets. The async ping processing code is then unable to match the response packet to the earlier request and the request will eventually be processed as a timeout.

Workaround: Use jicmp as the ping implementation or upgrade to a version of OpenNMS where this issue is fixed.

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Seth Leger February 17, 2016 at 5:44 PM

This has been auto-merged into foundation, foundation-2016 and release-17.0.1. Marking as fixed.

commit 784b4cd6f43a5793bf83c9423234ff51e4fd711e

Fixed

Details

Assignee

Reporter

Labels

Components

Affects versions

Priority

PagerDuty

Created February 11, 2016 at 2:33 PM
Updated February 17, 2016 at 5:44 PM
Resolved February 17, 2016 at 5:44 PM