[ https://issues.apache.org/jira/browse/MESOS-7400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15979074#comment-15979074 ]
Anand Mazumdar commented on MESOS-7400: --------------------------------------- 1.2.x backport {noformat} commit c2314e9bc19fe34a204b75811073f9f7afbaa620 Author: Anand Mazumdar <an...@apache.org> Date: Fri Apr 21 09:56:35 2017 -0700 Added MESOS-7400 to 1.2.1 CHANGELOG. commit 87b06df592b4d07e5a201ae151950ab30d59e1ba Author: Anindya Sinha <anindya_si...@apple.com> Date: Fri Apr 21 09:45:47 2017 -0700 Fixed a crash in the streaming request/response decoder. If the callback `on_headers_complete()` fails, the decoder's writer object is `None()`. So, when the callback `on_message_complete()` is called, we should not crash in that case. Note that the `CHECK(decoder->writer)` is valid for the callback `on_body()` is valid since this callback is called only on a success in `on_headers_complete()` callback. Review: https://reviews.apache.org/r/58512/ commit 459873a26279162cdcb4a47d5bf8f4b0984d2ccb Author: Anindya Sinha <anindya_si...@apple.com> Date: Fri Apr 21 09:44:04 2017 -0700 Marked decoder as failed when request/response parsing failed. Review: https://reviews.apache.org/r/58580/ {noformat} > The mesos master crashes due to an incorrect invariant check in the decoder. > ---------------------------------------------------------------------------- > > Key: MESOS-7400 > URL: https://issues.apache.org/jira/browse/MESOS-7400 > Project: Mesos > Issue Type: Bug > Components: general > Reporter: Anindya Sinha > Assignee: Anindya Sinha > Priority: Blocker > Fix For: 1.2.1, 1.3.0 > > > {code} > F0401 15:14:20.272156 231760 decoder.hpp:1006] CHECK_SOME(decoder->writer): > is NONE > {code} > partial gdb stack trace captured on the Mesos master: > {code} > (gdb) bt > #0 0x00007f4948b715e5 in raise () from /lib64/libc.so.6 > #1 0x00007f4948b72dc5 in abort () from /lib64/libc.so.6 > #2 0x00007f494b1f1ef6 in google::DumpStackTraceAndExit () at > src/utilities.cc:147 > #3 0x00007f494b1e98dd in google::LogMessage::Fail () at src/logging.cc:1458 > #4 0x00007f494b1eb66d in google::LogMessage::SendToLog (this=Unhandled dwarf > expression opcode 0xf3 > ) at src/logging.cc:1412 > #5 0x00007f494b1e9462 in google::LogMessage::Flush (this=0x7f49323ddb10) at > src/logging.cc:1281 > #6 0x00007f494b1ec049 in google::LogMessageFatal::~LogMessageFatal > (this=Unhandled dwarf expression opcode 0xf3 > ) at src/logging.cc:1984 > #7 0x00007f494b0dee77 in ~_CheckFatal (p=Unhandled dwarf expression opcode > 0xf3 > ) at ../../../3rdparty/stout/include/stout/check.hpp:164 > #8 process::StreamingRequestDecoder::on_message_complete (p=Unhandled dwarf > expression opcode 0xf3 > ) at ../../../3rdparty/libprocess/src/decoder.hpp:1006 > #9 0x00007f494b1c1d05 in http_parser_execute (parser=0x7f49204642c8, > settings=Unhandled dwarf expression opcode 0xf3 > ) > at http-parser-2.6.2/http_parser.c:1845 > #10 0x00007f494b15017e in decode (length=Unhandled dwarf expression opcode > 0xf3 > ) at ../../../3rdparty/libprocess/src/decoder.hpp:793 > #11 process::internal::decode_recv (length=Unhandled dwarf expression opcode > 0xf3 > ) at ../../../3rdparty/libprocess/src/process.cpp:845 > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)