openresty / openresty/luajit2

segment fault core dump on mips64

Open
#103 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
1.4k
Forks
252
Avg merge
7d 11h
Merged PRs (30d)
3

Description

version openresty-1.17.8.2

root@loongson:/# lscpu
Architecture:          mips64
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             2
NUMA node(s):          4
Model name:            Loongson-3A R3 (Loongson-3A3000) @ 1386MHz
CPU max MHz:           1385.9800
CPU min MHz:           692.9900
BogoMIPS:              2770.79
Hypervisor vendor:     vertical
Virtualization type:   full
L1d cache:             64K
L1i cache:             64K
L2 cache:              256K
L3 cache:              2048K
NUMA node0 CPU(s):     0-3
NUMA node1 CPU(s):     4-7
NUMA node2 CPU(s):
NUMA node3 CPU(s):

nginx.conf

user  root;
worker_processes  1;
error_log  logs/error.log  debug;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
        resolver 8.8.8.8;

        location / {

            content_by_lua_block {

              local http = require "resty.http"
              local httpc = http.new()
              local res, err = httpc:request_uri("http://example.com/helloworld", {
                method = "POST",
                body = "a=1&b=2",
                headers = {
                  ["Content-Type"] = "application/x-www-form-urlencoded",
                },
                keepalive_timeout = 60000,
                keepalive_pool = 10
              })

              if not res then
                ngx.say("failed to request: ", err)
                return
              end

              ngx.status = res.status
              ngx.say(res.body)
            }
        }
    }
}

Use the following command to reproduce the problem

curl -vkl http://127.0.0.1/

Contributor guide

No contributing guide indexed for this repository

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

Reproduce the crash with the supplied nginx.conf on mips64 using curl -vkl http://127.0.0.1/, then inspect the core dump and debug logs. The report names no source file or test; done means identifying the failing path and verifying that the segmentation fault no longer occurs.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.