You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "David Reiss (JIRA)" <ji...@apache.org> on 2009/05/21 04:32:45 UTC

[jira] Resolved: (THRIFT-510) segmentation fault in errorTimeWrapper

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

David Reiss resolved THRIFT-510.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 0.2

Hopefully none of those obsd patches broke anything.

> segmentation fault in errorTimeWrapper
> --------------------------------------
>
>                 Key: THRIFT-510
>                 URL: https://issues.apache.org/jira/browse/THRIFT-510
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (C++)
>         Environment: ubuntu / intel
>            Reporter: Mathieu Poumeyrol
>            Priority: Critical
>             Fix For: 0.2
>
>         Attachments: thrift.ctime.patch
>
>
> During scribe startup, thrift triggers a potential segmentation fault right after the first message that uses errorTimeWrapper:
> {noformat} 
> [Wed May 20 09:58:52 2009] "Starting scribe server on port 1463" 
> Thrift: Wed May 20 09:58:52 2009 TServerSocket::listen() IPV6_V6ONLY
> *** stack smashing detected ***: /usr/local/bin/scribed terminated
> ======= Backtrace: =========
> /lib/tls/i686/nosegneg/libc.so.6(__fortify_fail+0x48)[0x6b0cf8]
> /lib/tls/i686/nosegneg/libc.so.6(__fortify_fail+0x0)[0x6b0cb0]
> /usr/local/lib/libthrift.so.0[0xee14c4]
> /usr/local/lib/libthrift.so.0(_ZN6apache6thrift7TOutput16errorTimeWrapperEPKc+0x7d)[0xe93194]
> /usr/local/lib/libthrift.so.0(_ZN6apache6thrift7TOutputclEPKc+0x13)[0xec3cef]
> {noformat} 
> The problem is detected by the Stack Smashing Protection, which has been somehow enabled on my compiler.
> In lib/cpp/src/Thrift.h, errorTimeWrapper uses a 25 character long buffer as a placeholder for a call to ctime_r. According to the man page, ctime_r requires a 26 characters buffer.
> Changing the buffer size made everything work again.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.