You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Percy Camilo Triveño Aucahuasi (Jira)" <ji...@apache.org> on 2022/10/07 17:21:00 UTC

[jira] [Comment Edited] (ARROW-17927) [C++] Sporadic crashes in arrow-dataset-scanner-test

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

Percy Camilo Triveño Aucahuasi edited comment on ARROW-17927 at 10/7/22 5:20 PM:
---------------------------------------------------------------------------------

Just in case there are similar issues in the future, I'll copy here some additional information about this issue.

Yesterday I managed to reproduce this issue using Windows (msys2-mingw32) and I got this stacktrace:
{code:java}
1   ??                                                                                                                               0xfeeefeee 
2   std::__uniq_ptr_impl<void, void ( *)(void *)>::reset                                                           unique_ptr.h  203 0x15b7e36  
3   std::__uniq_ptr_impl<void, void ( *)(void *)>::operator=                                                       unique_ptr.h  183 0x15b7f1f  
4   std::__uniq_ptr_data<void, void ( *)(void *), true, true>::operator=                                           unique_ptr.h  235 0x15acebd  
5   std::unique_ptr<void, void ( *)(void *)>::operator=                                                            unique_ptr.h  406 0x14d884d  
6   arrow::Future<arrow::internal::Empty>::SetResult                                                               future.h      650 0x113578a  
7   arrow::Future<arrow::internal::Empty>::DoMarkFinished                                                          future.h      655 0x1134713  
8   arrow::Future<arrow::internal::Empty>::MarkFinished<arrow::internal::Empty, void>                              future.h      409 0x1134699  
9   operator()                                                                                                     gtest_util.cc 783 0x332fb6   
10  std::__invoke_impl<void, arrow::SleepABitAsync()::<lambda()>>(std::__invoke_other, struct {...} &&)            invoke.h      61  0x338f42   
11  std::__invoke<arrow::SleepABitAsync()::<lambda()>>(struct {...} &&)                                            invoke.h      96  0x338eca   
12  std::thread::_Invoker<std::tuple<arrow::SleepABitAsync()::<lambda()>>>::_M_invoke<0>(std::_Index_tuple<0>)     std_thread.h  252 0x338e5a   
13  std::thread::_Invoker<std::tuple<arrow::SleepABitAsync()::<lambda()>>>::operator()(void)                       std_thread.h  259 0x338e14   
14  std::thread::_State_impl<std::thread::_Invoker<std::tuple<arrow::SleepABitAsync()::<lambda()>>>>::_M_run(void) std_thread.h  210 0x338de0   
15  ??                                                                                                                               0x6b6bfee0 
16  ??                                                                                                                               0x6b8d4e7d 
17  msvcrt!_beginthreadex                                                                                                            0x75716cff 
18  msvcrt!_endthreadex                                                                                                              0x75716dc1 
19  KERNEL32!BaseThreadInitThunk                                                                                                     0x753dfa29 
20  ntdll!RtlGetAppContainerNamedObjectPath                                                                                          0x77307b5e 
... <More>                                                                                                                                      {code}
It seems there was a segmentation fault with the status that we were trying to use for marking the future as finished; sometimes I got this message as well:
{code:java}
Running main() from C:/M/mingw-w64-gtest/src/googletest-release-1.12.1/googletest/src/gtest_main.cc
Note: Google Test filter = BasicNewScannerTests/TestScannerBase.ScanOrdered/3slow16f128b*
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from BasicNewScannerTests/TestScannerBase
[ RUN      ] BasicNewScannerTests/TestScannerBase.ScanOrdered/3slow16f128b
C:/arrow/cpp/src/arrow/util/future.ccC:/arrow/cpp/src/arrow/util/future.cc:125:  Check failed: !IsFutureFinished(state_) :125:  Check failed: !IsFutureFinished(state_) Future already marked finished
FPress <RETURN> to close this window...{code}
Or this other one too:
{code:java}
Running main() from C:/M/mingw-w64-gtest/src/googletest-release-1.12.1/googletest/src/gtest_main.cc
Note: Google Test filter = BasicNewScannerTests/TestScannerBase.ScanOrdered/3slow16f128b*
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from BasicNewScannerTests/TestScannerBase
[ RUN      ] BasicNewScannerTests/TestScannerBase.ScanOrdered/3slow16f128b
C:/arrow/cpp/src/arrow/dataset/scanner_test.cc:538: Failure
Value of: _fut138.Wait(::arrow::kDefaultAssertFinishesWaitSeconds)
  Actual: false
Expected: true
C:/arrow/cpp/src/arrow/dataset/scanner_test.cc:538: Failure
Failed
Future did not finish in a timely fashion{code}


was (Author: aucahuasi):
Just in case there are similar issues in the future, I'll copy here some additional information about this issue.

Yesterday I managed to reproduce this issue using Windows (msys2-mingw32) and I got this stacktrace:
{code:java}
1   ??                                                                                                                               0xfeeefeee 
2   std::__uniq_ptr_impl<void, void ( *)(void *)>::reset                                                           unique_ptr.h  203 0x15b7e36  
3   std::__uniq_ptr_impl<void, void ( *)(void *)>::operator=                                                       unique_ptr.h  183 0x15b7f1f  
4   std::__uniq_ptr_data<void, void ( *)(void *), true, true>::operator=                                           unique_ptr.h  235 0x15acebd  
5   std::unique_ptr<void, void ( *)(void *)>::operator=                                                            unique_ptr.h  406 0x14d884d  
6   arrow::Future<arrow::internal::Empty>::SetResult                                                               future.h      650 0x113578a  
7   arrow::Future<arrow::internal::Empty>::DoMarkFinished                                                          future.h      655 0x1134713  
8   arrow::Future<arrow::internal::Empty>::MarkFinished<arrow::internal::Empty, void>                              future.h      409 0x1134699  
9   operator()                                                                                                     gtest_util.cc 783 0x332fb6   
10  std::__invoke_impl<void, arrow::SleepABitAsync()::<lambda()>>(std::__invoke_other, struct {...} &&)            invoke.h      61  0x338f42   
11  std::__invoke<arrow::SleepABitAsync()::<lambda()>>(struct {...} &&)                                            invoke.h      96  0x338eca   
12  std::thread::_Invoker<std::tuple<arrow::SleepABitAsync()::<lambda()>>>::_M_invoke<0>(std::_Index_tuple<0>)     std_thread.h  252 0x338e5a   
13  std::thread::_Invoker<std::tuple<arrow::SleepABitAsync()::<lambda()>>>::operator()(void)                       std_thread.h  259 0x338e14   
14  std::thread::_State_impl<std::thread::_Invoker<std::tuple<arrow::SleepABitAsync()::<lambda()>>>>::_M_run(void) std_thread.h  210 0x338de0   
15  ??                                                                                                                               0x6b6bfee0 
16  ??                                                                                                                               0x6b8d4e7d 
17  msvcrt!_beginthreadex                                                                                                            0x75716cff 
18  msvcrt!_endthreadex                                                                                                              0x75716dc1 
19  KERNEL32!BaseThreadInitThunk                                                                                                     0x753dfa29 
20  ntdll!RtlGetAppContainerNamedObjectPath                                                                                          0x77307b5e 
... <More>                                                                                                                                      {code}
It seems there was a segmentation fault with the status that we were trying to use for marking the future as finished; sometimes I got this message as well:
{code:java}
Running main() from C:/M/mingw-w64-gtest/src/googletest-release-1.12.1/googletest/src/gtest_main.cc
Note: Google Test filter = BasicNewScannerTests/TestScannerBase.ScanOrdered/3slow16f128b*
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from BasicNewScannerTests/TestScannerBase
[ RUN      ] BasicNewScannerTests/TestScannerBase.ScanOrdered/3slow16f128b
C:/arrow/cpp/src/arrow/util/future.ccC:/arrow/cpp/src/arrow/util/future.cc:125:  Check failed: !IsFutureFinished(state_) :125:  Check failed: !IsFutureFinished(state_) Future already marked finished
FPress <RETURN> to close this window...{code}

> [C++] Sporadic crashes in arrow-dataset-scanner-test
> ----------------------------------------------------
>
>                 Key: ARROW-17927
>                 URL: https://issues.apache.org/jira/browse/ARROW-17927
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++, Continuous Integration
>            Reporter: Antoine Pitrou
>            Assignee: Antoine Pitrou
>            Priority: Blocker
>              Labels: pull-request-available
>             Fix For: 10.0.0
>
>          Time Spent: 7.5h
>  Remaining Estimate: 0h
>
> Seen e.g. on this PR:
> https://github.com/apache/arrow/actions/runs/3181284056/jobs/5185859816#step:11:255
> {code}
> [----------] 8 tests from BasicNewScannerTests/TestScannerBase
> [ RUN      ] BasicNewScannerTests/TestScannerBase.ScanOrdered/0fast1f128b
> [       OK ] BasicNewScannerTests/TestScannerBase.ScanOrdered/0fast1f128b (33 ms)
> [ RUN      ] BasicNewScannerTests/TestScannerBase.ScanOrdered/1fast16f128b
> [       OK ] BasicNewScannerTests/TestScannerBase.ScanOrdered/1fast16f128b (582 ms)
> [ RUN      ] BasicNewScannerTests/TestScannerBase.ScanOrdered/2slow1f128b
> [       OK ] BasicNewScannerTests/TestScannerBase.ScanOrdered/2slow1f128b (65 ms)
> [ RUN      ] BasicNewScannerTests/TestScannerBase.ScanOrdered/3slow16f128b
> terminate called after throwing an instance of 'std::system_error'
>   what():  Resource temporarily unavailable
> terminate called recursively
> terminate called recursively
> terminate called recursively
> terminate called recursively
> terminate called recursively
> terminate called recursively
> terminate called recursively
> terminate called recursively
> terminate called recursively
> terminate called recursively
> terminate called recursively
> terminate called recursively
> terminate called recursively
> terminate called recursively
> terminate called recursively
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)