Page MenuHome Accel-ppp

Master build Accel signal SIGSEGV, Segmentation fault.
Closed, ResolvedPublicBUG

Description

Hello,
I build accel-ppp from master tree and retrieve hangup on some time.
i build debug version and on gdb view

Program terminated with signal SIGSEGV, Segmentation fault.
#0  triton_timer_add (ctx=0x7f70e0001958, ud=0x7f70e00019b8, abs_time=0) at /root/accel-ppp-master/accel-pppd/triton/timer.c:151
151             __sync_add_and_fetch(&t->ctx->refs, 1);
[Current thread is 1 (Thread 0x7f70e7853700 (LWP 1282607))]

(gdb) bt full 
#0  triton_timer_add (ctx=0x7f70e0001958, ud=0x7f70e00019b8, abs_time=0) at /root/accel-ppp-master/accel-pppd/triton/timer.c:151
        t = 0x7f70e0016ed8
#1  0x00007f70e93b5548 in sstp_connect (h=0x7f70e93bb480 <serv+32>) at /root/accel-ppp-master/accel-pppd/ctrl/sstp/sstp.c:2423
        conn = 0x7f70e0001958
        addr = {len = 16, u = {sa = {sa_family = 2, sa_data = "\001\273\302cO\335\000\000\000\000\000\000\000"}, sin = {sin_family = 2, sin_port = 47873, sin_addr = {s_addr = 3712967618}, sin_zero = "\000\000\000\000\000\000\000"}, 
            sin6 = {sin6_family = 2, sin6_port = 47873, sin6_flowinfo = 3712967618, sin6_addr = {__in6_u = {__u6_addr8 = "\000\000\000\000\000\000\000\000\364U\000\000\275;", <incomplete sequence \351>, __u6_addr16 = {0, 0, 0, 0, 
                    22004, 0, 15293, 59715}, __u6_addr32 = {0, 0, 22004, 3913497533}}}, sin6_scope_id = 32624}, sun = {sun_family = 2, 
              sun_path = "\001\273\302cO\335\000\000\000\000\000\000\000\000\364U\000\000\275;C\351p\177\000\000\020-\205\347p\177\000\000\000\000\000\000\000\000\000\000\020-\205\347p\177\000\000@,\205\347p\177\000\000\f-\205\347p\177\000\000\214\234\234\351p\177\000\000\n", '\000' <repeats 15 times>, "*\222\023", '\000' <repeats 14 times>}}}
        addr_buf = "194.99.79.221\000\061\000\065\060\063\066\064\000\000\000x\255t\370\364U\000\000P<\000\340p\177\000\000\000\000\000\000\000\000\000\000x\255t\370\364U\000\000@\031\000\340p\177\000\000\320+\205\347p\177\000\000\240^\236\351p\177\000\000x\255t\370\364U\000\000@\031\000\340p\177\000\000 ,\205\347p\177\000\000\"b\236\351p\177\000\000 ,"
        ip = 3715993250
        sock = 26
        value = 1
#2  0x00007f70e99e34a7 in ctx_thread (ctx=0x55f4f87557e8) at /root/accel-ppp-master/accel-pppd/triton/triton.c:252
        h = 0x55f4f874b858
        t = 0x7f70e7852ce0
        call = 0x0
        tt = 140122926068832
        events = 1
#3  0x00007f70e99e3262 in triton_thread (thread=0x55f4f87527e0) at /root/accel-ppp-master/accel-pppd/triton/triton.c:192
        set = {__val = {516, 0 <repeats 15 times>}}
        sig = 10
        need_free = 1
        stack = 0x0
#4  0x00007f70e99beea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140122897331968, -2156295644920609572, 140724482579470, 140724482579471, 140122897329792, 1056768, 2085874177403323612, 2085905219196224732}, mask_was_saved = 0}}, priv = {pad = {0x0, 
              0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#5  0x00007f70e94f4def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

On 1.12.0 i not view its problem

Details

Protocol
SSTP
Version
Master

Event Timeline


Add coredump file

build command
wget https://github.com/accel-ppp/accel-ppp/archive/refs/heads/master.tar.gz -O accel-ppp-master.tar.gz
tar -xvf accel-ppp-master.tar.gz
cd accel-ppp-master
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DKDIR=/usr/src/linux-headers-uname -r -DRADIUS=TRUE -DSHAPER=TRUE -DLOG_PGSQL=FALSE -DLUA=TRUE -DBUILD_IPOE_DRIVER=FALSE -DCPACK_TYPE=Debian10 -DBUILD_VLAN_MON_DRIVER=FALSE -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS='-g -O0' ..
make -j $CPU_COUNT.
cpack -G DEB

commit 847ccb49a7e0958d778fc772a266a0f8695f591c (HEAD -> master, origin/master, origin/HEAD)
Merge: 3c95746 e489dda
Author: xebd <xeb@mail.ru>
Date: Thu Jun 23 12:16:57 2022 +0300

Merge pull request #48 from DmitriyEshenko/master-08042022

T60: Implement configurable session-timeout param for all connection …
Dimka88 changed the task status from Open to In progress.Aug 2 2022, 16:37
Dimka88 added a subscriber: Dimka88.

patch under test

diff --git a/accel-pppd/ctrl/sstp/sstp.c b/accel-pppd/ctrl/sstp/sstp.c
index f17db43..40c6ad9 100644
--- a/accel-pppd/ctrl/sstp/sstp.c
+++ b/accel-pppd/ctrl/sstp/sstp.c
@@ -2415,12 +2415,12 @@ static int sstp_connect(struct triton_md_handler_t *h)
 
                triton_context_register(&conn->ctx, &conn->ppp.ses);
                triton_context_call(&conn->ctx, (triton_event_func)sstp_start, conn);
+               triton_timer_add(&conn->ctx, &conn->timeout_timer, 0);
                triton_context_wakeup(&conn->ctx);
 
-               __sync_add_and_fetch(&stat_starting, 1);
                triton_event_fire(EV_CTRL_STARTING, &conn->ppp.ses);
 
-               triton_timer_add(&conn->ctx, &conn->timeout_timer, 0);
+               __sync_add_and_fetch(&stat_starting, 1);
        }
 
        return 0;
Dimka88 claimed this task.