Skip to content

haproxy 3.1.0 fails to fully start #395

Description

@drboone

Our haproxy guest got updated to haproxy-3.1.0 this morning. After an extended period of searching, I realized that none of the listen ports were actually in use. Some fiddling with truss -f seems to show that the master process starts its first worker, which never really makes any progress, and there's just no further truss output. There's a message "Failed to load worker".

Falling back to 3.0.6 has us back on the air for now.

Platform 20241017T041739Z.

Apologies for the crappy bug report.

Activity

  1. self-assigned this
    on Dec 9, 2024
  2. jperkin commented on Dec 9, 2024

    @jperkin
    Collaborator

    Are you able to share any non-sensitive parts of your config? At least with a basic proxy setup 3.1.0 works ok for me, so I wonder if this is due to specific features.

  3. drboone commented on Dec 12, 2024

    @drboone
    Author

    Interesting. Unfortunately my test install is also my production install so I don't have a good way to generate a minimum test case right now.

    I think the secrets are all out of the attached full config. I should extract a promise not to laugh... :)
    haproxy.cfg.txt

    Sorry I missed your question for so long.

  4. jperkin commented on Jan 27, 2025

    @jperkin
    Collaborator

    Stupid stupid GitHub autoclose.

  5. added a commit that references this issue on Mar 18, 2025
  6. goekesmi commented on Jun 23, 2025

    @goekesmi

    I present to you, minimum broken configuration:

    global
            master-worker
    frontend test
            bind :8080
            timeout client 60s
    

    and minimum functioning configuration

    frontend test
            bind :8080
            timeout client 60s
    

    Please note the minimum broken configuration will leave haproxy master processes running that are difficult to kill off. Even after a svcadm disable there will still be several haproxy processes not making forward progress.

    [root@a4dbe587-830b-4502-8a99-882d25c578b0 ~]# svcs | grep haproxy
    [root@a4dbe587-830b-4502-8a99-882d25c578b0 ~]# ptree
    470279 /sbin/init
      470315 /lib/svc/bin/svc.startd
        472096 /usr/lib/saf/sac -t 300
          472119 /usr/lib/saf/ttymon
        472141 /usr/lib/saf/ttymon -g -d /dev/console -l console -m ldterm,ttcompat -h -p a4db
        473268 /opt/local/sbin/haproxy -f /opt/local/etc/haproxy.cfg -D
          473269 /opt/local/sbin/haproxy -f /opt/local/etc/haproxy.cfg -D
            473270 /opt/local/sbin/haproxy -f /opt/local/etc/haproxy.cfg -D
    
  7. goekesmi commented on Jun 23, 2025

    @goekesmi

    I suspect, but do not know, that some of the operations described in https://docs.haproxy.org/3.2/management.html#4 work differently on illumos, and are likely tripping it up in master-worker mode.

  8. jperkin commented on Jun 24, 2025

    @jperkin
    Collaborator

    I've narrowed it down to this change.

  9. jperkin commented on Jun 25, 2025

    @jperkin
    Collaborator

    I've found the issue and raised it upstream in the above. I'll apply a patch to pkgsrc in the meantime to get you guys unblocked.

  10. 149 remaining items

  11. added a commit that references this issue on Jun 23, 2026
  12. added a commit that references this issue on Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions