AdaCore / AdaCore/aws

Sometimes all the threads of the server fall and the server stops responding to requests

Open
#370 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Ada
Stars
162
Forks
45
PR merge metrics
No merged PRs in 30d

Description

  • GNAT version: 12.2.1 (alire)
  • AWS version: 23 (alire)
  • OS: Debian GNU/Linux 11 (bullseye) x86_64
  • Host: KVM/QEMU (Standard PC (i440FX + PIIX, 1996) pc-i440fx-6.2)
  • CPU: AMD EPYC 7282 (4) @ 2.794GHz

Nginx (HTTP2) is used as a reverse proxy server.

Process logs

Fatal error, slot 5 is dead now.
raised AWS.NET.SOCKET_ERROR : Send : [32] Broken pipe
0x6bb1a5 Aws.Net.Std.Raise_Exception at aws-net-std__gnat.adb:632
0x6bb615 Aws.Net.Std.Send at aws-net-std__gnat.adb:695
0x752463 Aws.Net.Send at aws-net.adb:480
0x66929e Aws.Net.Buffered.Flush at aws-net-buffered.adb:76
0x5dad81 Aws.Http2.Frame.Send at aws-http2-frame.adb:209
0x7da122 Aws.Server.Protocol_Handler at aws-server-protocol_handler.adb:295
0x7d5500 Aws.Server.LineT at aws-server.adb:395
0x9d1b39 System.Tasking.Stages.Task_Wrapper at s-tassta.adb:1211
[/lib/x86_64-linux-gnu/libpthread.so.0]
0x7fea3b8d7ea5
[/lib/x86_64-linux-gnu/libc.so.6]
0x7fea3b6b3a2d
0xfffffffffffffffe

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the stack trace entries in aws-http2-frame.adb, aws-server-protocol_handler.adb, and aws-server.adb, then review how the broken-pipe failure is handled when Nginx uses HTTP/2. Reproduce the server becoming unresponsive and identify the conditions that cause all server threads to stop; done means the failure is addressed and request handling remains available afterward.

Written by the indexing model from the issue text.

Assessment

Tech stack
nginx
Domain
backend, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.