Illegal Instruction crash on startup with spread_checks in src/checks.c

Bug #1339801 reported by Pivotal Cloud Foundry Services Team
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
haproxy (Ubuntu)
Expired
High
Unassigned

Bug Description

haproxy crashes after starting up successfully, when the spread_checks option is provided.

According to GDB, here is the backtrace of the crash:
```
Program received signal SIGILL, Illegal instruction.
0x000000000042b97f in process_chk (t=0x6ef7c0) at src/checks.c:1587
1587 src/checks.c: No such file or directory.
 in src/checks.c
(gdb) bt
#0 0x000000000042b97f in process_chk (t=0x6ef7c0) at src/checks.c:1587
#1 0x00000000004103ee in process_runnable_tasks (next=0x7fffffffe4cc) at src/task.c:240
#2 0x0000000000406440 in run_poll_loop () at src/haproxy.c:1304
#3 0x0000000000408966 in main (argc=<value optimized out>, argv=0x7fffffffe6f8) at src/haproxy.c:1638
```

it's caused by this code:
```
  if (global.spread_checks > 0) {
   rv = srv_getinter(check) * global.spread_checks / 100;
   rv -= (int) (2 * rv * (rand() / (RAND_MAX + 1.0)));
  }
```
on line 1587 of src/checks.c (the second line in the if clause).

We're running haproxy 1.5.0

> lsb_release -rd
Description: Ubuntu 10.04.4 LTS
Release: 10.04

> uname -a
Linux 789b4b1b-6f7b-44cf-accc-88d90341f17a 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 16:19:23 UTC 2013 x86_64 GNU/Linux

Mathew Hodson (mhodson)
Changed in haproxy (Ubuntu):
importance: Undecided → High
tags: added: lucid
Revision history for this message
Robie Basak (racb) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better.

This seems like to be an upstream bug and if it can be confirmed to be then should be reported there, and we can backport any fix to Ubuntu as required.

However Lucid is EOL now. If this bug still affects a supported release, please change the bug status back to New.

tags: added: needs-upstream-report
Changed in haproxy (Ubuntu):
status: New → Incomplete
tags: added: server-triage-failure
removed: needs-upstream-report
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for haproxy (Ubuntu) because there has been no activity for 60 days.]

Changed in haproxy (Ubuntu):
status: Incomplete → Expired
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.