Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
P parabix-devel
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 9
    • Issues 9
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • cameron
  • parabix-devel
  • Issues
  • #22

Closed
Open
Created Oct 04, 2022 by cameron@cameronMaintainer

Bug in buffer manipulation logic

The following command fails with a segfault raised in __maskInput1

bin/icgrep -colors=always -segment-size=16384 '[a-z]{15}' ../QA/testfiles/4KiB-onepage -thread-num=1

It seems that some ItemCounts are out of range. I slightly annotated the code (as attached) and got the following trace:

bufferPtrTy = [1 x <2 x i64>]*
bufferPtrTy = [1 x [64 x <2 x i64>]]*
bufferPtrTy = [1 x [8 x <2 x i64>]]*
bufferPtrTy = [1 x <2 x i64>]*
bufferPtrTy = [1 x [64 x <2 x i64>]]*
ItemCountPhi                             = 8
selected                                 = 1
inputBuffer                              = 562b3b34b000
itemsPerSegment                          = 80
start                                    = 8
end                                      = 9
numOfStreams                             = 1
bufferStorage                            = 7ffda8b7c350
ItemCountPhi                             = 20
selected                                 = 1
inputBuffer                              = 562b3b1cc000
itemsPerSegment                          = 80
start                                    = 20
end                                      = 21
numOfStreams                             = 1
bufferStorage                            = 7ffda8b7c350
ItemCountPhi                             = 20
selected                                 = 1
inputBuffer                              = 562b3b188000
itemsPerSegment                          = 80
start                                    = 20
end                                      = 21
numOfStreams                             = 1
bufferStorage                            = 7ffda8b7c2d8
ItemCountPhi                             = 8
selected                                 = 1
inputBuffer                              = 562b3b1cc000
itemsPerSegment                          = 80
start                                    = 8
end                                      = 9
numOfStreams                             = 1
bufferStorage                            = 7ffda8b7c350
ItemCountPhi                             = 1002
selected                                 = 200000000000000
inputBuffer                              = 562b3b298000
itemsPerSegment                          = 400
start                                    = 400
end                                      = 200000000001002
numOfStreams                             = 1
bufferStorage                            = 7ffda8b7c2c0
Segmentation fault

buffer_manipulation_logic.cpp

Edited Oct 04, 2022 by cameron
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking