Skip to content

Fix lost pending_actions causing actions on stale objects.#5235

Merged
bryancall merged 1 commit intoapache:8.1.xfrom
shinrich:bp-81-pr-4166-take2
Apr 11, 2019
Merged

Fix lost pending_actions causing actions on stale objects.#5235
bryancall merged 1 commit intoapache:8.1.xfrom
shinrich:bp-81-pr-4166-take2

Conversation

@shinrich
Copy link
Copy Markdown
Member

@shinrich shinrich commented Apr 5, 2019

(cherry picked from commit 493803c)

Conflicts:
proxy/http/HttpSM.cc

(cherry picked from commit 493803c)

Conflicts:
	proxy/http/HttpSM.cc
@shinrich shinrich added the Backport Marked for backport for an LTS patch release label Apr 5, 2019
@shinrich shinrich added this to the 8.1.0 milestone Apr 5, 2019
@shinrich shinrich self-assigned this Apr 5, 2019
@bryancall
Copy link
Copy Markdown
Contributor

[approve ci]

@bryancall bryancall merged commit 912000f into apache:8.1.x Apr 11, 2019
@zwoop zwoop modified the milestones: 8.1.0, 8.1.0-nogo Mar 18, 2020
@zwoop
Copy link
Copy Markdown
Contributor

zwoop commented Mar 19, 2020

Cherry-picked to 8.1.x

@zwoop zwoop modified the milestones: 8.1.0-nogo, 8.1.0 Mar 19, 2020
@zwoop
Copy link
Copy Markdown
Contributor

zwoop commented Mar 26, 2020

Reverting again on 8.1.x :-/ @ezelkow1 Can you provide some details here how the crashes happens, so we can maybe figure out what is going wrong.

@zwoop zwoop modified the milestones: 8.1.0, 9.0.0 Mar 26, 2020
@ezelkow1
Copy link
Copy Markdown
Member

This is the crash dump from the 4 autests that would trigger this (syntax, http408, tls, redirect_post):

Fatal: HttpSM.cc:1740: failed assertion pending_action == nullptr || pending_action == vc->get_action()
Traffic Server 8.1.044.c351e20.el7 Mar 25 2020 16:00:20 66252f8ebcb4
traffic_server: using root directory '/home/tester/tests/_sandbox/syntax/ts'
traffic_server: received signal 6 (Aborted)
traffic_server - STACK TRACE:
traffic_server(_Z19crash_logger_invokeiP9siginfo_tPv+0x8e)[0x49aafe]
/lib64/libpthread.so.0(+0xf5f0)[0x7f01e06305f0]
/lib64/libc.so.6(gsignal+0x37)[0x7f01df866337]
/lib64/libc.so.6(abort+0x148)[0x7f01df867a28]
/opt/trafficserver/lib/libtscore.so.8(+0x575cb)[0x7f01e202a5cb]
/opt/trafficserver/lib/libtscore.so.8(+0x54625)[0x7f01e2027625]
traffic_server(_ZN6HttpSM22state_http_server_openEiPv+0x3da)[0x508a5a]
traffic_server(_ZN6HttpSM12main_handlerEiPv+0x100)[0x505730]
traffic_server(_ZN12CheckConnect14handle_connectEiP5Event+0x616)[0x7110a6]
traffic_server[0x7132a2]
traffic_server(_Z15write_to_net_ioP10NetHandlerP18UnixNetVConnectionP7EThread+0xce0)[0x71b530]
traffic_server(_ZN10NetHandler18process_ready_listEv+0x27f)[0x70477f]
traffic_server(_ZN10NetHandler15waitForActivityEl+0x26d)[0x704a3d]
traffic_server(_ZN7EThread15execute_regularEv+0x6e9)[0x7518e9]
traffic_server[0x74feea]
/lib64/libpthread.so.0(+0x7e65)[0x7f01e0628e65]
/lib64/libc.so.6(clone+0x6d)[0x7f01df92e88d]

We also tried porting in the more up to date version which changes the assert but it would still occur at the same location with the new line:
ink_release_assert(pending_action == nullptr || pending_action->continuation == vc->get_action()->continuation);

@zwoop zwoop modified the milestones: 9.0.0, 8.1.0 Apr 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backport Marked for backport for an LTS patch release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants