Comments (4)
This comes from the new periodic_boundary function which uses only OPEN_MODIFY mode. The window is pointing to a ppack outside the block:
(gdb) f 4
#4 0x000055555556885a in pwin_step_modify (w=0x7fffffffdea0) at src/plist.c:1425
1425 assert(!ppack_isempty(&w->b->p[w->ip]));
(gdb) p w->ip
$1 = 26
(gdb) p w->b
$2 = (pblock_t *) 0x7fffd4600000
(gdb) p w->b[0]
$3 = {{{n = 104, npacks = 26, nfpacks = 26, next = 0x0, prev = 0x7fffec200000},
_pad = "h\000\000\000\000\000\000\000\032\000\000\000\000\000\000\000\032", '\000' <repeats 17 times>, " \354\377\177", '\000' <repeats 89 times>},
p = 0x7fffd4600080}
from cpic.
The window has a wrong gip, which is too low, and the hi endpoint is not stopping the step operation.
(gdb) p w->gip
$20 = 794
(gdb) p w->ip
$21 = 26
(gdb) p w->b
$22 = (pblock_t *) 0x7fffd4600000
(gdb) p w->l->b->prev
$23 = (struct pblock *) 0x7fffd4600000
(gdb) p w->l->nblocks
$24 = 4
(gdb) p w->l->nmax * 4
$25 = 4096
(gdb) p w->l->nmax * 3
$26 = 3072
(gdb) p w->hi[0]
$27 = 3098
from cpic.
The gip is checked at the end of pwin_next to be consistent with the local ip and current block, so the previous step must have gone correctly. Did the gip got corrupted?
from cpic.
No, the endpoint hi is wrong. We must use the max_packs not the nmax, as gip iterates over ppacks. That is the problem, in plist_open:
w->shi = (l->nblocks - 1) * l->nmax + l->b->prev->npacks;
This could be found by doing a coverage analysis.
from cpic.
Related Issues (20)
- Specify output directory
- interpolate_p2f: Assertion `x[Y][iv] >= c->x0[Y][iv]' failed
- plist_close_remove: Assertion `p->magic[iv] == MAGIC_PARTICLE' failed HOT 2
- Segfault with 2 processes HOT 2
- collect_pset: Assertion `plist_isempty(ex.q1)' failed HOT 1
- Deadlock with TAMPI enabled HOT 1
- Deadlock with 4 processes HOT 1
- MFT solver takes most of the time with more than 1 process HOT 2
- TAMPI is intercepting FFTW MPI calls HOT 1
- Transposed FFT transform HOT 2
- Inconsistent scaling of FFTW HOT 8
- Particle out of chunk with 16 processes HOT 1
- MFT: Integrate the normalization constant in the kernel
- cyclotron.test: src/plist.c:329: void plist_sanity_check(plist_t *): Assertion `l->b' failed HOT 1
- The Boris rotation is not going backwards at the initial step
- Cyclotron hard test fails HOT 1
- Harmonic motion test with 2 electron fails HOT 1
- Wrong harmonic frequency HOT 1
- Garbage particles fail to pass velocity check HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cpic.