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

James E. King III edited comment on THRIFT-4593 at 12/27/18 3:36 PM:
---------------------------------------------------------------------

This will be resolved by THRIFT-4441 when we drop cpp03 support, we will also 
drop the pthread and the boost thread classes and be left with just things from 
the cpp11 standard.


was (Author: jking3):
This will be resolved by THRIFT-4441 when we drop C++03 support, we will also 
drop the pthread and the boost thread classes and be left with just things from 
the C++11 standard.

> Unit Tests failing on Alpine Linux due to non-portable mutex initializers
> -------------------------------------------------------------------------
>
>                 Key: THRIFT-4593
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4593
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.11.0
>         Environment: Ubuntu Bionic (native)
> alpine:latest (docker)
>            Reporter: Christopher Friedt
>            Priority: Minor
>
> It seems that the lib/cpp/test suite is broken in the 0.11.0 tagged release 
> because this fails in Ubuntu Bionic and inside of an Alpine Linux 3.8 Docker 
> container.
> I would have thought all test suites would pass for tagged releases.
> In any case, I've narrowed the culprits down to the non-portable (NP) class 
> of Mutex initializers.
> I'd rather not speculate at this point exactly why this problem is happening. 
> Currently my patching just disables those tests undonditionally, but there 
> should probably be a better solution used in the end. E.g. better .m4 testing 
> for non-portable pthread features - if they are actually functional or just 
> stubs.
> Currently, I'm working on automating builds of thrift for Alpine Linux 3.8, 
> and they will likely require "make check" to pass successfully in future 
> versions. Might as well ensure it works now.
>  
> ```
> make[5]: Entering directory 
> '/home/cfriedt/Desktop/thrift-20180627/lib/cpp/test'
> Running 54 test cases...
> An error message from getaddrinfo on the console is expected:
> Thrift: Wed Jun 27 20:16:03 2018 getaddrinfo -2: Name or service not known
> *** No errors detected
> PASS: UnitTests
> Running 2 test cases...
> Thrift: Wed Jun 27 20:16:10 2018 ~TFDTransport TTransportException: 
> 'TFDTransport::close(): Bad file descriptor'
> *** No errors detected
> PASS: TFDTransportTest
> Running 1 test case...
> *** No errors detected
> PASS: TPipedTransportTest
> Running 3 test cases...
> *** No errors detected
> PASS: DebugProtoTest
> Running 11 test cases...
> *** No errors detected
> PASS: JSONProtoTest
> Running 17 test cases...
> *** No errors detected
> PASS: OptionalRequiredTest
> Running 4 test cases...
> *** No errors detected
> PASS: RecursiveTest
> Running 1 test case...
> *** No errors detected
> PASS: SpecializationTest
> Running 3 test cases...
> TBinaryProtocol => OK
> TLEBinaryProtocol => OK
> TCompactProtocol => OK
> *** No errors detected
> PASS: AllProtocolsTest
> Running 285 test cases...
> Timeout alarm expired; attempting to unblock transport
> Timeout alarm expired; attempting to unblock transport
> Timeout alarm expired; attempting to unblock transport
> Timeout alarm expired; attempting to unblock transport
> Timeout alarm expired; attempting to unblock transport
> ^CMakefile:1436: recipe for target 'check-TESTS' failed
> make[5]: *** [check-TESTS] Interrupt
> Makefile:1559: recipe for target 'check-am' failed
> make[4]: *** [check-am] Interrupt
> Makefile:1562: recipe for target 'check' failed
> make[3]: *** [check] Interrupt
> Makefile:1658: recipe for target 'check-recursive' failed
> make[2]: *** [check-recursive] Interrupt
> Makefile:580: recipe for target 'check-recursive' failed
> make[1]: *** [check-recursive] Interrupt
> Makefile:663: recipe for target 'check-recursive' failed
> make: *** [check-recursive] Interrupt
> ```



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to