[ 
https://issues.apache.org/jira/browse/TS-4876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leif Hedstrom updated TS-4876:
------------------------------
    Description: 
All I had to do was navigate docs.trafficserver using Safari on macOS.

{code}
#0  0x00002b41f07405f7 in __GI_raise (sig=sig@entry=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00002b41f0741ce8 in __GI_abort () at abort.c:90
#2  0x00002b41edcc901d in ink_abort (message_format=0x2b41edcf4920 "%s:%d: 
failed assertion `%s`") at ink_error.cc:79
#3  0x00002b41edcc2bf7 in _ink_assert (expression=0xb82fc0 
"node->parent->queue->top() == node->entry", file=0xb82f80 
"Http2DependencyTree.h", line=319) at ink_assert.cc:37
#4  0x00000000007b83fa in Http2DependencyTree<Http2Stream*>::deactivate 
(this=0x602000099eb0, node=0x607000383cf0, sent=4192) at 
Http2DependencyTree.h:319
#5  0x00000000007b1154 in 
Http2ConnectionState::send_data_frames_depends_on_priority 
(this=0x6190005278c8) at Http2ConnectionState.cc:1080
#6  0x00000000007ae45c in Http2ConnectionState::main_event_handler 
(this=0x6190005278c8, event=2254, edata=0x6090000313a0) at 
Http2ConnectionState.cc:808
#7  0x000000000053b59f in Continuation::handleEvent (this=0x6190005278c8, 
event=2254, data=0x6090000313a0) at ../iocore/eventsystem/I_Continuation.h:153
#8  0x0000000000ab74d1 in EThread::process_event (this=0x2b41f4d2d800, 
e=0x6090000313a0, calling_code=2254) at UnixEThread.cc:146
#9  0x0000000000ab7b33 in EThread::execute (this=0x2b41f4d2d800) at 
UnixEThread.cc:200
#10 0x0000000000ab5d7b in spawn_thread_internal (a=0x604000017290) at 
Thread.cc:84
#11 0x00002b41efdd9dc5 in start_thread (arg=0x2b41f5ee0700) at 
pthread_create.c:308
#12 0x00002b41f0801ced in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:113
{code}

and

{code}
(gdb) print this
$1 = (Http2DependencyTree<Http2Stream*> * const) 0x602000099eb0
(gdb) print *this
$2 = {_root = 0x607000383f20, _max_depth = 100, _node_count = 5}
(gdb) print node
$3 = (Http2DependencyTree<Http2Stream*>::Node *) 0x607000383cf0
(gdb) print *node
$4 = {link = {<SLink<Http2DependencyTree<Http2Stream*>::Node>> = {next = 0x0}, 
prev = 0x0}, active = false, queued = true, id = 9, weight = 109, point = 9, 
parent = 0x607000383a50, children = {head = 0x0}, entry = 0x602000099d10, queue 
= 0x6060000fbba0, t = 0x61a00000ea80}
(gdb) print node->parent
$5 = (Http2DependencyTree<Http2Stream*>::Node *) 0x607000383a50
(gdb) print *node->parent
$6 = {link = {<SLink<Http2DependencyTree<Http2Stream*>::Node>> = {next = 0x0}, 
prev = 0x0}, active = true, queued = true, id = 17, weight = 182, point = 17, 
parent = 0x607000383ac0, children = {head = 0x607000383cf0}, entry = 
0x602000099c30, queue = 0x6060000fba20, t = 0x61a00000c680}
(gdb) print node->entry
$7 = (PriorityQueueEntry<Http2DependencyTree<Http2Stream*>::Node*> *) 
0x602000099d10
(gdb) print *node->entry
$8 = {index = 0, node = 0x607000383cf0}
{code}

  was:
No great stack trace here (because running under ASAN I think), but this is 
what we see:

{code}
/opt/ats/lib/libtsutil.so.7(signal_crash_handler(int, siginfo_t*, 
void*)+0x18)[0x2ba29d9333f3]
/opt/ats/bin/traffic_server(crash_logger_invoke(int, siginfo_t*, 
void*)+0x155)[0x53469c]
/lib64/libpthread.so.0(+0xf100)[0x2ba29fa2b100]
/lib64/libc.so.6(gsignal+0x37)[0x2ba2a038a5f7]
/lib64/libc.so.6(abort+0x148)[0x2ba2a038bce8]
/opt/ats/lib/libtsutil.so.7(ink_warning(char const*, ...)+0x0)[0x2ba29d91301d]
/opt/ats/lib/libtsutil.so.7(+0x6bbf7)[0x2ba29d90cbf7]
/opt/ats/bin/traffic_server(Http2DependencyTree<Http2Stream*>::deactivate(Http2DependencyTree<Http2Stream*>::Node*,
 unsigned int)+0x17e)[0x7b83fa]
/opt/ats/bin/traffic_server(Http2ConnectionState::send_data_frames_depends_on_priority()+0x58c)[0x7b1154]
/opt/ats/bin/traffic_server(Http2ConnectionState::main_event_handler(int, 
void*)+0x41c)[0x7ae45c]
/opt/ats/bin/traffic_server(Continuation::handleEvent(int, 
void*)+0x149)[0x53b59f]
/opt/ats/bin/traffic_server(EThread::process_event(Event*, int)+0x2cf)[0xab74d1]
/opt/ats/bin/traffic_server(EThread::execute()+0x2bf)[0xab7b33]
/opt/ats/bin/traffic_server[0xab5d7b]
/lib64/libpthread.so.0(+0x7dc5)[0x2ba29fa23dc5]
/lib64/libc.so.6(clone+0x6d)[0x2ba2a044bced]
{code}


> FATAL: Http2DependencyTree.h:319: failed assertion 
> `node->parent->queue->top() == node->entry`
> ----------------------------------------------------------------------------------------------
>
>                 Key: TS-4876
>                 URL: https://issues.apache.org/jira/browse/TS-4876
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: HTTP/2
>            Reporter: Leif Hedstrom
>              Labels: crash
>             Fix For: 7.1.0
>
>
> All I had to do was navigate docs.trafficserver using Safari on macOS.
> {code}
> #0  0x00002b41f07405f7 in __GI_raise (sig=sig@entry=6) at 
> ../nptl/sysdeps/unix/sysv/linux/raise.c:56
> #1  0x00002b41f0741ce8 in __GI_abort () at abort.c:90
> #2  0x00002b41edcc901d in ink_abort (message_format=0x2b41edcf4920 "%s:%d: 
> failed assertion `%s`") at ink_error.cc:79
> #3  0x00002b41edcc2bf7 in _ink_assert (expression=0xb82fc0 
> "node->parent->queue->top() == node->entry", file=0xb82f80 
> "Http2DependencyTree.h", line=319) at ink_assert.cc:37
> #4  0x00000000007b83fa in Http2DependencyTree<Http2Stream*>::deactivate 
> (this=0x602000099eb0, node=0x607000383cf0, sent=4192) at 
> Http2DependencyTree.h:319
> #5  0x00000000007b1154 in 
> Http2ConnectionState::send_data_frames_depends_on_priority 
> (this=0x6190005278c8) at Http2ConnectionState.cc:1080
> #6  0x00000000007ae45c in Http2ConnectionState::main_event_handler 
> (this=0x6190005278c8, event=2254, edata=0x6090000313a0) at 
> Http2ConnectionState.cc:808
> #7  0x000000000053b59f in Continuation::handleEvent (this=0x6190005278c8, 
> event=2254, data=0x6090000313a0) at ../iocore/eventsystem/I_Continuation.h:153
> #8  0x0000000000ab74d1 in EThread::process_event (this=0x2b41f4d2d800, 
> e=0x6090000313a0, calling_code=2254) at UnixEThread.cc:146
> #9  0x0000000000ab7b33 in EThread::execute (this=0x2b41f4d2d800) at 
> UnixEThread.cc:200
> #10 0x0000000000ab5d7b in spawn_thread_internal (a=0x604000017290) at 
> Thread.cc:84
> #11 0x00002b41efdd9dc5 in start_thread (arg=0x2b41f5ee0700) at 
> pthread_create.c:308
> #12 0x00002b41f0801ced in clone () at 
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
> {code}
> and
> {code}
> (gdb) print this
> $1 = (Http2DependencyTree<Http2Stream*> * const) 0x602000099eb0
> (gdb) print *this
> $2 = {_root = 0x607000383f20, _max_depth = 100, _node_count = 5}
> (gdb) print node
> $3 = (Http2DependencyTree<Http2Stream*>::Node *) 0x607000383cf0
> (gdb) print *node
> $4 = {link = {<SLink<Http2DependencyTree<Http2Stream*>::Node>> = {next = 
> 0x0}, prev = 0x0}, active = false, queued = true, id = 9, weight = 109, point 
> = 9, parent = 0x607000383a50, children = {head = 0x0}, entry = 
> 0x602000099d10, queue = 0x6060000fbba0, t = 0x61a00000ea80}
> (gdb) print node->parent
> $5 = (Http2DependencyTree<Http2Stream*>::Node *) 0x607000383a50
> (gdb) print *node->parent
> $6 = {link = {<SLink<Http2DependencyTree<Http2Stream*>::Node>> = {next = 
> 0x0}, prev = 0x0}, active = true, queued = true, id = 17, weight = 182, point 
> = 17, parent = 0x607000383ac0, children = {head = 0x607000383cf0}, entry = 
> 0x602000099c30, queue = 0x6060000fba20, t = 0x61a00000c680}
> (gdb) print node->entry
> $7 = (PriorityQueueEntry<Http2DependencyTree<Http2Stream*>::Node*> *) 
> 0x602000099d10
> (gdb) print *node->entry
> $8 = {index = 0, node = 0x607000383cf0}
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to