[LMA] Heka crashes when payload >= 64K is injected

Bug #1504141 reported by Patrick Petit
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel Plugins
Fix Committed
High
Simon Pasquier

Bug Description

Heka crashes when payload >= 64KB is injected in the pipeline. This has been encountered with a rogue OpenStack notification exceeding that size. Decoders should protect themselves against that using defensive programing technique. I tested that patch which seems to do the job. Give 1KB safety to take into account the size of the message envelop.

function process_message ()
   local log = read_message("Payload")

   local m = grammar:match(log)
   if not m then
       return -1
   end

   if string.len(m.Message) >= 63 * 1.024e3 then
      return -1
   end

Tags: lma
Changed in fuel-plugins:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → LMA-Toolchain Fuel Plugins (mos-lma-toolchain)
milestone: none → 7.0
Changed in fuel-plugins:
assignee: LMA-Toolchain Fuel Plugins (mos-lma-toolchain) → Simon Pasquier (simon-pasquier)
Changed in fuel-plugins:
status: Confirmed → In Progress
Revision history for this message
Simon Pasquier (simon-pasquier) wrote :
Changed in fuel-plugins:
status: In Progress → Fix Committed
Revision history for this message
Simon Pasquier (simon-pasquier) wrote :

The bug is fixed in the 0.8 branch. For the 0.7.x releases, patch files are attached to this comment.

To apply the patches:
=================

1. Extract the files from the archive.
2. Copy the files to all controller nodes in the /usr/share/lma_collector/decoders/ directory.
3. On every controller node, restart the LMA collector
  # For Ubuntu
  restart lma_collector
  # For CentOS
  /etc/init.d/lma_collector restart

description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.