You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "David Carlin (JIRA)" <ji...@apache.org> on 2013/12/06 04:04:40 UTC

[jira] [Commented] (TS-1411) Seg fault when using %

    [ https://issues.apache.org/jira/browse/TS-1411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13840894#comment-13840894 ] 

David Carlin commented on TS-1411:
----------------------------------

The following patch written by Sean Cosgrave stabilizes the issue.  He made a point of saying its a band-aid and not a permanent fix however.

{noformat}
--- trafficserver-4.0.2/proxy/logging/LogAccessHttp.cc  2013-10-07 22:02:04.000000000 +0000
+++ trafficserver-4.0.2_mod/proxy/logging/LogAccessHttp.cc  2013-11-04 21:27:09.547218218 +0000
@@ -91,7 +91,9 @@

   if (hdr->client_request.valid()) {
     m_client_request = &(hdr->client_request);
-    m_client_req_url_str = m_client_request->url_string_get_ref(&m_client_req_url_len);
+    char *url_string_ref = m_client_request->url_string_get_ref(&m_client_req_url_len);
+    m_client_req_url_str = (char *) m_arena.str_alloc(m_client_req_url_len + 1);
+    ink_strlcpy(m_client_req_url_str, url_string_ref, (m_client_req_url_len + 1));
     m_client_req_url_canon_str = LogUtils::escapify_url(&m_arena, m_client_req_url_str, m_client_req_url_len,
                                                         &m_client_req_url_canon_len);
     m_client_req_url_path_str = m_client_request->path_get(&m_client_req_url_path_len);
{noformat}

> Seg fault when using %<cquuc>
> -----------------------------
>
>                 Key: TS-1411
>                 URL: https://issues.apache.org/jira/browse/TS-1411
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Logging
>    Affects Versions: 3.2.0
>         Environment: RHEL 6.2 x86_64
>            Reporter: David Carlin
>            Assignee: Yunkai Zhang
>            Priority: Critical
>             Fix For: 4.2.0
>
>         Attachments: Log rotation segaults.txt, TS-1411 backtraces.txt
>
>
> I've been experiencing some segfaults during log rotation.  The sequence of events is this.. log rotation occurs, then I get hundreds of dropping log buffer error msgs, then the segfault.
> This started occurring when I lengthened the default log format to include the unmapped URL and the user agent string:
> %<cqtq> %<ttms> %<chi> %<crc>/%<pssc> %<psql> %<cqhm> %<cquc> %<caun> %<phr>/%<pqsn> %<psct> %<xid> %<cquuc> \"%<{User-Agent}cqh>\"
> In terms of frequency, we have a number of boxes and I probably see one of these crashed per day since the above change.  Logs are rotated every 2 hours.
> I've had other log related segfaults, reported in TS-1330 - these new ones seem to have a different cause.
> [Aug 14 21:07:20.002] Server {0x2ae3a8887700} STATUS: The rolled logfile, /home/y/logs/trafficserver/error.log_l30.ycs.a4e.yahoo.com.20120814.17h59m50s-20120814.20h00m00s.old, was auto-deleted; 3148252 bytes were reclaimed.
> [Aug 14 21:07:42.859] Server {0x2ae3a8887700} STATUS: The rolled logfile, /home/y/logs/trafficserver/squid.blog_l30.ycs.a4e.yahoo.com.20120814.18h00m00s-20120814.20h00m00s.old, was auto-deleted; 14735520048 bytes were reclaimed.
> [Aug 14 21:07:42.865] Server {0x2ae3a8887700} WARNING: Dropping log buffer, can't keep up.
> [Aug 14 21:07:42.865] Server {0x2ae3a8887700} WARNING: Dropping log buffer, can't keep up.
> [Aug 14 21:07:42.865] Server {0x2ae3a8887700} WARNING: Dropping log buffer, can't keep up.
> [Aug 14 21:07:42.865] Server {0x2ae3a8887700} WARNING: Dropping log buffer, can't keep up.
> [Aug 14 21:07:42.865] Server {0x2ae3a8887700} WARNING: Dropping log buffer, can't keep up.
> [...]
> [Aug 14 21:07:42.876] Server {0x2ae3a8887700} WARNING: Dropping log buffer, can't keep up.
> [Aug 14 21:07:42.876] Server {0x2ae3a8887700} WARNING: Dropping log buffer, can't keep up.
> [Aug 14 21:07:42.876] Server {0x2ae3a8887700} WARNING: Dropping log buffer, can't keep up.
> [Aug 14 21:07:42.876] Server {0x2ae3a8887700} WARNING: Dropping log buffer, can't keep up.
> NOTE: Traffic Server received Sig 11: Segmentation fault
> /home/y/bin/traffic_server - STACK TRACE: 
> /lib64/libpthread.so.0[0x383f00f500]
> /home/y/bin/traffic_server(LogAccess::marshal_mem(char*, char const*, int, int)+0x48)[0x58a118]
> /home/y/bin/traffic_server(LogAccessHttp::marshal_client_req_url_canon(char*)+0x20)[0x58c3f0]
> /home/y/bin/traffic_server(LogFieldList::marshal(LogAccess*, char*)+0x32)[0x59d5a2]
> /home/y/bin/traffic_server(LogObject::log(LogAccess*, char*)+0x399)[0x5a7ed9]
> /home/y/bin/traffic_server(Log::access(LogAccess*)+0x146)[0x58f506]
> /home/y/bin/traffic_server(HttpSM::update_stats()+0x630)[0x526c50]
> /home/y/bin/traffic_server(HttpSM::kill_this()+0x928)[0x52b548]
> /home/y/bin/traffic_server(HttpSM::main_handler(int, void*)+0x198)[0x52b868]
> /home/y/bin/traffic_server(HttpTunnel::main_handler(int, void*)+0xde)[0x56c3ee]
> /home/y/bin/traffic_server[0x673871]
> /home/y/bin/traffic_server(write_to_net_io(NetHandler*, UnixNetVConnection*, EThread*)+0x847)[0x6756e7]
> /home/y/bin/traffic_server(NetHandler::mainNetEvent(int, Event*)+0x286)[0x66e076]
> /home/y/bin/traffic_server(EThread::process_event(Event*, int)+0xb4)[0x696ce4]
> /home/y/bin/traffic_server(EThread::execute()+0x4c3)[0x697673]
> /home/y/bin/traffic_server[0x695cb2]
> /lib64/libpthread.so.0[0x383f007851]



--
This message was sent by Atlassian JIRA
(v6.1#6144)