You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Tham (Jira)" <ji...@apache.org> on 2020/02/05 07:11:00 UTC

[jira] [Commented] (ARROW-5381) [C++] Crash at arrow::internal::CountSetBits

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

Tham commented on ARROW-5381:
-----------------------------

I have used CpuInfo::IsSupported(POPCNT) to see if this computer supports POPCNT, then use <bitset> to count bit. What is your idea about this approach? I'll try your suggestion as well.

(Sorry that I don't receive any notification about your comment, so I have to check it by opening this page directly and sometimes reply late).

> [C++] Crash at arrow::internal::CountSetBits
> --------------------------------------------
>
>                 Key: ARROW-5381
>                 URL: https://issues.apache.org/jira/browse/ARROW-5381
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>         Environment: Operating System: Windows 7 Professional 64-bit (6.1, Build 7601) Service Pack 1    (7601.win7sp1_ldr_escrow.181110-1429)
> Language: English (Regional Setting: English)
> System Manufacturer: SAMSUNG ELECTRONICS CO., LTD.
> System Model: RV420/RV520/RV720/E3530/S3530/E3420/E3520
> BIOS: Phoenix SecureCore-Tiano(tm) NB Version 2.1 05PQ
> Processor: Intel(R) Pentium(R) CPU B950 @ 2.10GHz (2 CPUs), ~2.1GHz
> Memory: 2048MB RAM
> Available OS Memory: 1962MB RAM
>           Page File: 1517MB used, 2405MB available
>         Windows Dir: C:\Windows
> DirectX Version: DirectX 11
>            Reporter: Tham
>            Assignee: Wes McKinney
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: bit-util.asm, iMac-late2009.png, popcnt_support.png
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> I've got a lot of crash dump from a customer's windows machine. The stacktrace shows that it crashed at arrow::internal::CountSetBits.
>  
> {code:java}
> STACK_TEXT:  
> 000000c9`5354a4c0 00007ff7`2f2830fd : 000000c9`544841c0 00000000`00000000 00000000`00001e00 cccccccc`cccccccc : CortexService!arrow::internal::CountSetBits+0x16d
> 000000c9`5354a550 00007ff7`2f2834b7 : 000000c9`5337c930 cccccccc`cccccccc cccccccc`cccccccc cccccccc`cccccccc : CortexService!arrow::ArrayData::GetNullCount+0x8d
> 000000c9`5354a580 00007ff7`2f13df55 : 000000c9`54476080 000000c9`5354a5d8 cccccccc`cccccccc cccccccc`cccccccc : CortexService!arrow::Array::null_count+0x37
> 000000c9`5354a5b0 00007ff7`2f13fb68 : 000000c9`5354ab40 000000c9`5354a6f8 000000c9`54476080 cccccccc`cccccccc : CortexService!parquet::arrow::`anonymous namespace'::LevelBuilder::Visit<arrow::NumericArray<arrow::FloatType> >+0xa5
> 000000c9`5354a640 00007ff7`2f12fa34 : 000000c9`5354a6f8 000000c9`54476080 000000c9`5354ab40 cccccccc`cccccccc : CortexService!arrow::VisitArrayInline<parquet::arrow::`anonymous namespace'::LevelBuilder>+0x298
> 000000c9`5354a680 00007ff7`2f14bf03 : 000000c9`5354ab40 000000c9`5354a6f8 000000c9`54476080 cccccccc`cccccccc : CortexService!parquet::arrow::`anonymous namespace'::LevelBuilder::VisitInline+0x44
> 000000c9`5354a6c0 00007ff7`2f12fe2a : 000000c9`5354ab40 000000c9`5354ae18 000000c9`54476080 000000c9`5354b208 : CortexService!parquet::arrow::`anonymous namespace'::LevelBuilder::GenerateLevels+0x93
> 000000c9`5354aa00 00007ff7`2f14de56 : 000000c9`5354b1f8 000000c9`5354afc8 000000c9`54476080 00000000`00001e00 : CortexService!parquet::arrow::`anonymous namespace'::ArrowColumnWriter::Write+0x25a
> 000000c9`5354af20 00007ff7`2f14e66b : 000000c9`5354b1f8 000000c9`5354b238 000000c9`54445c20 00000000`00000000 : CortexService!parquet::arrow::`anonymous namespace'::ArrowColumnWriter::Write+0x2a6
> 000000c9`5354b040 00007ff7`2f12f137 : 000000c9`544041f0 000000c9`5354b4d8 000000c9`5354b4a8 00000000`00000000 : CortexService!parquet::arrow::FileWriter::Impl::WriteColumnChunk+0x70b
> 000000c9`5354b400 00007ff7`2f14b4d5 : 000000c9`54431180 000000c9`5354b4d8 000000c9`5354b4a8 00000000`00000000 : CortexService!parquet::arrow::FileWriter::WriteColumnChunk+0x67
> 000000c9`5354b450 00007ff7`2f12eef1 : 000000c9`5354b5d8 000000c9`5354b648 00000000`00000000 00000000`00001e00 : CortexService!<lambda_f279b6cdf777bbf919efc3f7f42faf89>::operator()+0x195
> 000000c9`5354b530 00007ff7`2eb8e31e : 000000c9`54431180 000000c9`5354b760 000000c9`54442fb0 00000000`00001e00 : CortexService!parquet::arrow::FileWriter::WriteTable+0x521
> 000000c9`5354b730 00007ff7`2eb58ac5 : 000000c9`5307bd88 000000c9`54442fb0 ffffffff`ffffffff ffffffff`ffffffff : CortexService!Cortex::Storage::ParquetStreamWriter::writeRowGroup+0xfe
> 000000c9`5354b860 00007ff7`2eafdce6 : 000000c9`5307bd80 000000c9`5354ba08 000000c9`5354b9e0 000000c9`5354b9d8 : CortexService!Cortex::Storage::ParquetFileWriter::writeRowGroup+0x545
> 000000c9`5354b9a0 00007ff7`2eaf8bae : 000000c9`53275600 000000c9`53077220 ffffffff`fffffffe 00000000`00000000 : CortexService!Cortex::Storage::DataStreamWriteWorker::onNewData+0x1a6
> {code}
> {code:java}
> FAILED_INSTRUCTION_ADDRESS: 
> CortexService!arrow::internal::CountSetBits+16d [c:\jenkins\workspace\cortexv2-dev-win64-service\src\thirdparty\arrow\cpp\src\arrow\util\bit-util.cc @ 99]
> 00007ff7`2f3a4e4d f3480fb800      popcnt  rax,qword ptr [rax]
> FOLLOWUP_IP: 
> CortexService!arrow::internal::CountSetBits+16d [c:\jenkins\workspace\cortexv2-dev-win64-service\src\thirdparty\arrow\cpp\src\arrow\util\bit-util.cc @ 99]
> 00007ff7`2f3a4e4d f3480fb800      popcnt  rax,qword ptr [rax]
> FAULTING_SOURCE_LINE:  c:\jenkins\workspace\cortexv2-dev-win64-service\src\thirdparty\arrow\cpp\src\arrow\util\bit-util.cc
> FAULTING_SOURCE_FILE:  c:\jenkins\workspace\cortexv2-dev-win64-service\src\thirdparty\arrow\cpp\src\arrow\util\bit-util.cc
> FAULTING_SOURCE_LINE_NUMBER:  99
> SYMBOL_STACK_INDEX:  0
> SYMBOL_NAME:  cortexservice!arrow::internal::CountSetBits+16d
> {code}
> {code:java}
> ERROR_CODE: (NTSTATUS) 0xc000001d - {EXCEPTION}  Illegal Instruction  An attempt was made to execute an illegal instruction.
> EXCEPTION_CODE: (NTSTATUS) 0xc000001d - {EXCEPTION}  Illegal Instruction  An attempt was made to execute an illegal instruction.
> APP:  cortexservice.exe
> ANALYSIS_VERSION: 6.3.9600.17336 (debuggers(dbg).150226-1500) amd64fre
> FAULTING_THREAD:  000000000000169c
> BUGCHECK_STR:  APPLICATION_FAULT_INVALID_POINTER_READ_BEFORE_WRITE
> PRIMARY_PROBLEM_CLASS:  INVALID_POINTER_READ_BEFORE_WRITE
> DEFAULT_BUCKET_ID:  INVALID_POINTER_READ_BEFORE_WRITE
> LAST_CONTROL_TRANSFER:  from 00007ff72f2830fd to 00007ff72f3a4e4d{code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)