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

Avoid holding reference to a GAP bag when NewBag is called. #2294

Merged
merged 1 commit into from
Mar 24, 2018

Conversation

ChrisJefferson
Copy link
Contributor

@ChrisJefferson ChrisJefferson commented Mar 24, 2018

In some calls to CallErrorInner, one or more of the arguments
is a C pointer to a string stored in a GAP bag.
In that case we must call ErrorMessageToGAPString before NEW_PREC,
which could cause a GC which would move the string.

This can be observed using the memory checker in #2293 , type:

gap> GASMAN_MEM_CHECK(1);
gap> FASJKLFJSKLA; # Or any other invalid variable name

In some calls to CallErrorInner, one or more of the arguments
is a C pointer to a string stored in a GAP bag.
In that case we must call ErrorMessageToGAPString before NEW_PREC,
which could cause a GC which would move the string.
@codecov
Copy link

codecov bot commented Mar 24, 2018

Codecov Report

Merging #2294 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2294      +/-   ##
==========================================
+ Coverage   71.77%   71.77%   +<.01%     
==========================================
  Files         479      479              
  Lines      251663   251663              
==========================================
+ Hits       180625   180632       +7     
+ Misses      71038    71031       -7
Impacted Files Coverage Δ
src/gap.c 63.57% <100%> (+0.33%) ⬆️
src/hpc/threadapi.c 37.42% <0%> (ø) ⬆️
src/gasman.c 85.47% <0%> (+0.18%) ⬆️
src/objset.c 81.49% <0%> (+0.22%) ⬆️
hpcgap/lib/hpc/stdtasks.g 38.87% <0%> (+0.25%) ⬆️

@fingolfin fingolfin merged commit 7e69142 into gap-system:master Mar 24, 2018
@fingolfin fingolfin added the kind: bug Issues describing general bugs, and PRs fixing them label Mar 28, 2018
@ChrisJefferson ChrisJefferson deleted the error-fix branch March 28, 2018 22:23
@fingolfin fingolfin added the release notes: added PRs introducing changes that have since been mentioned in the release notes label Jul 31, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants