Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gasman fixes for stable-4.9 #2166

Merged
merged 4 commits into from
Feb 7, 2018

Conversation

ChrisJefferson
Copy link
Contributor

This cherry-picks #2160 and #2151 into 4.9. These fix problems with memmove and gasman.

The patches are mostly identical, just replacing more occurrences of memmove by SyMemmove

ChrisJefferson and others added 4 commits February 6, 2018 21:26
Catch a couple of cases where we can cause pointer overflow.

Also no callers of NewBag or ResizeBag check the return value, so
instead of returning 0 on failure exit GAP.
StopBags may be smaller or larger than EndBags, so we cannot
use SpaceBetweenPointers. We switch to just using '-'.
The memmove in glibc on 32-bit SSE2 systems, contained in
__memmove_sse2_unaligned, is buggy in at least versions
2.21 - 2.25 when crossing the 2GB boundary, so GAP must
include it's own simple memmove implementation.
@codecov
Copy link

codecov bot commented Feb 7, 2018

Codecov Report

Merging #2166 into stable-4.9 will increase coverage by <.01%.
The diff coverage is 91.07%.

@@              Coverage Diff               @@
##           stable-4.9    #2166      +/-   ##
==============================================
+ Coverage       69.19%   69.19%   +<.01%     
==============================================
  Files             493      493              
  Lines          259991   260030      +39     
==============================================
+ Hits           179900   179936      +36     
- Misses          80091    80094       +3
Impacted Files Coverage Δ
src/system.c 66.05% <0%> (ø) ⬆️
src/listfunc.c 80.39% <100%> (ø) ⬆️
src/permutat.c 78.04% <100%> (ø) ⬆️
src/sysfiles.c 36.66% <100%> (+1.51%) ⬆️
src/opers.c 81.34% <100%> (ø) ⬆️
src/set.c 91.08% <100%> (ø) ⬆️
src/gasman.c 88.25% <71.42%> (-0.07%) ⬇️
src/hpc/traverse.c 83.78% <0%> (-0.39%) ⬇️
hpcgap/lib/hpc/stdtasks.g 38.61% <0%> (-0.26%) ⬇️
src/hpc/threadapi.c 38.56% <0%> (-0.1%) ⬇️
... and 1 more

@markuspf markuspf merged commit 28e9fa0 into gap-system:stable-4.9 Feb 7, 2018
@ChrisJefferson ChrisJefferson deleted the stable-gasman-fix branch February 19, 2018 15:51
@fingolfin fingolfin added this to the GAP 4.9.1 milestone Mar 22, 2018
@fingolfin fingolfin added kind: bug Issues describing general bugs, and PRs fixing them kind: bug: crash Issues describing bugs that cause GAP to crash, and PRs fixing them (used for release notes) topic: kernel release notes: added PRs introducing changes that have since been mentioned in the release notes labels Mar 22, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: bug: crash Issues describing bugs that cause GAP to crash, and PRs fixing them (used for release notes) kind: bug Issues describing general bugs, and PRs fixing them release notes: added PRs introducing changes that have since been mentioned in the release notes topic: kernel
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants