sandbox/bugs/README
To report bugs edit this page and add them to the list below.
To create a new page to hold the source code for your bug, you just need to add the link to the list below and save this page. Your link should look like
* [My bug which shows this problem](mycode.c)
Once you have saved the page, you can click on the link which will open the editor for the new page (mycode.c
). Next, cut and paste your code (do not try to ‘upload’ the file directly) and add any comments you want to describe the problem more clearly (see below for examples of decent bug reports).
You can then use the “Preview” button to display the code and (if you have the right permissions), run it. Ideally, this should reproduce the bug. Once you are happy with the result, “Save” the page.
Note that the files generated by the running code are accessible in /sandbox/bugs/mycode/
. In particular the standard error and standard output are in /sandbox/bugs/mycode/log
and /sandbox/bugs/mycode/out
respectively.
See also how to create test cases.
Bugs
- Iterative convergence on a multigrid is unreasonably bad compared to a tree grid
- foreach_neighbor() not properly nested with for (scalar …)
- No-slip condition violated for viscous Stokes flow with embedded boundary
- Vertex scalar: refinement of the vertex scalar on the block boundary for MPI run is not correct
- Bview:
squares()
may not slice the cells correctly - adaptivity, embed and two-phase
- foreach_boundary MPI
- foreach_boundary ghost undeclared
- Errors when restarting simulations
- Manually setting the density - bug?
- No results when running examples/bubble.c?
- Bug? - mu in examples/porous3D.c
- Artefacts near top and bottom border in karman.c
- Spurious velocity at intersections of non-periodic faces in rotational stokes flow
- No flux across embedded boundary for marginal case
- svg file generation is not working
- Offset in boundary iterator when periodic BC is applied
- Check for openMP fails
- Leaking boundaries for compressible flows
- Initializing interfaces tangent to grid cells triggers numerical instability
- Inconsistent 5x5 stencil on root level of trees
- Fails of fractions() when an interface crosses exactly in the center of cells
- Error solving the Poisson equation of a program compiled in parallel that runs in serial
- Neumann conditions are false in the second row of ghost cells
- Fail of line_length_center() in geometry.h when an interface is exactly inbetween two cells
- Interactive bview does not understand keys to
save()
- Restore function resetting N to 1
- Box-boundary values are not set consistently among grid types
- Incorrect flow rate imposed
- qcc may create a new folder
- Inconsistent rotation with
foreach_dimension()
foreach_segment()
misses intersectionsforeach_boundary()
does not work together withgrid/cartesian-1D.h
- Vorticity evaluation seems not work in axisymmetric configuration
- Custom variable named
datasize
doesn’t raise error/warnings - The time
t
becomes abnormally large when using therestore
function. - Stencil offset on second layer ghost cells in multigrid solver
- Multilayer vertical diffusion becomes singular if there exist dry cells in the domain
- Minor qcc errors when compiling+linking with OpenMPI,Petsc libraries
- Tracer noise when there are embedded boundaries and two viscosities
It’s not a bug, it’s a feature
The bugs below have been classified as “features” i.e. scenarios which reveal limitations in the algorithms of Basilisk but are not coding mistakes.
- Successive identical runs give different results 11/11/2024
- Unexpected behaviour of event inheritance
- Boundaries are not automatic when using ‘locate’
- Solid variables must be listed before metric ones in adapt
- output_gfs swap the components of tensors and vectors: this is too GfsView-specific and too difficult to fix.
- Refinement around the edges of the domain lead to high memory usage: The explanation for the high memory usage is that this particular pattern of refinement is a worst-case scenario for the indexing scheme used to encode the quadtree.
- qcc attribute bug: the type system of qcc is too rudimentary.
- Inconsistent
break
behaviour in foreach loop: one should not break out of foreach loops.
Old bugs
The bugs below should be fixed in the most recent release.
- Unused variable in example case ginzburg-landau.c 10/11/2024
- Qcc and list iterator may fail (v3) 10/11/2024
- qcc hangs instead of returning error when missing compressible EOS 10/11/2024
- missing boundary(cm) update at the end of axi.h, which leads to a null timestep 10/11/2024
- Missing metric factor in VoF advection if EMBED is true 09/11/2024
- Qcc and list iterator may fail (v2) 25/08/2024
- qcc fails to recognize race condition - OpenMP 15/01/2024
- Dimensions and external library 13/01/2024
- Memory overflow in qcc 28/11/2023
- Qcc: Long compilation time 1/11/2023
- Optional arguments and function pointers 7/10/2023
- View() not recognizing tx,ty zero arguments 23/9/2023
- Whitespaces are required when setting boundary conditions 29/3/2023
- a line to compile grammar does not use $(CC) variable 29/3/2023
- ‘automatic()’ is not automatic 18/11/2022
- static FILE* crashes qcc 22/9/2022
- A typo crashes qcc 22/9/2022
- Scalar-list iterator inside foreach() loop may not compile 22/9/2022
wavelet()
and MPI can cause a lock 5/7/2022- Fields are not freed when using ‘break’ 5/7/2022
Foreach_dimension()
andlocate()
cause qcc to fail 5/7/2022- Some compilation incompatibility arises after patch ‘Automatic boundary conditions’ 5/7/2022
- Squares() does not work properly with underscores 21/10/2020
- collision of types: foreach_segment() use p for the coordinates of the segments which often collides with the global scalar p of the solvers. The obvious simple solution is to rename the coord p. 28/4/2020
- Periodic boundaries don’t work with cartesian1D 10/4/2020
- path to “/home/basilisk/terrain/etopo2” missing 30/9/2019
- Bview order mirror do not color lines 18/12/2018
- Cells don’t intersect with interface correctly at high refinement levels in bview3D 10/7/2018
- Multigrid MPI crashes in the
boundary()
routine 11/3/2018 - Surface fraction wrong when Level Set function is 0 exactly on a cell border 11/3/2018
- The tag() function does not like different refinement levels 28/2/2018
- tag “symmetric” behaves differently for global and local variables 28/2/2018
- Floating point exception while restoring an axisymetric simulation
- MPI multigrid restore fails at large grid sizes following the dump 26/2/2018
- Arrays and scalars cannot be mixed: the type system of qcc is too rudimentary. 9/12/2017
- Arithmetic error with adaptativity and surface tension
- Refine with adapt-wavelet may have some issues 27/6/2017
- Refine() + tracer.h + axi.h collapse 26/6/2017
- Mixed boundary conditions for vector fields 25/6/2017
- Convergence problem with 2 differents time output 25/6/2017
- The tag function does not identify properly different area of liquid 25/6/2017
- Strange behaviour of adaptive refinement 24/6/2017
- Artificial creation and acceleration of a droplet 15/6/2017
- Using foreach_boundary with curvature.h and tree meshes 25/5/2017
- Boundary for tracer with axi.h + mask
- Source file crashes the compiler 6/4/2017
- adapt_wavelet() does not properly initialize some fields upon refinement 30/6/2016
- Floating Point exception in tsunami run with openMP 30/11/2015
- Restriction of face vector fields for masked domains 13/11/2015
- Macros on some Intel compilers 5/9/2015
Not bugs
- We can’t change the date of the final
event
during the run - qcc hangs and create size-increasing file when using a wrong option
- qcc fails to parse a string that contains a macro
- modifying cell value of scalar field is applied to all layers in multilayer solver
foreach_dimension(3)
acts asforeach_dimension(2)
in 2D- MPI threads can get stuck using automatic boundary conditions
- Error when creating python module
- Scalar created in event is killing global scalar in multilayer model with remap.h included
- Scalar field attributes are randomly modified
- Assertion failed when including axi.h before navier-stokes/conserving.h
- Restore scalars with the same name
- No cell traversal with foreach_boundary() on periodic boundary conditions
- Cannot impose pressure drop on a tri-periodic domain
- Using refine(): Saint-Venant is not exact for stillwater
- basilisk output_gauges has bug when outputting vectors
- Combining adaptivity with acceleration term
- Boundary for tensor and vector are not set
- Advection scheme mess up with tensors
- Incompletion of time marching event
- Problem with scalar list evolving being scrambled - incorrectly initialised so it was local and not global - see example
Cannot reproduce
The following bugs cannot be reproduced when using the latest version i.e. they may have been fixed by other patches.
Incomplete bug reports
Critical information is lacking to be able to reproduce the bugs reported below:
- adding the properties event changes the results
- Velocity overshoot in axisymmetrical droplet for high density ratios
Website bugs
Suggestions
- Please add any suggested improvements/wishlist etc.
- https for login page.
- Option for CUA keys (copy paste with Ctrl + c/v etc)
- Remove the run timer. (not sure what this means?)
- The changes and history pages could be faster?
- On side-by-side edit view, add button to match left and right scroll positions
- Add anchors for plots
- “Show changes” button in edit mode
gnuplot
on all pages (e.g. a*.h
page)- HTML in “diff” document breaks changes page. e.g. here
- …
Bugs
- Please report any problem here. Ideally including links to broken pages etc.
- On my mac keyboard the square brackets do not work ! (don’t know if it is a bug or not)
- The left panel “This page” is not available for auxiliary files like rising.log_centered. How could be then deleted with the wiki?
- Comments in gnuplot scripts are not ignored as they should.
- Multilayer link from general introduction to horizontal viscosity module is broken (points to nonexistant file).
- Bug in search box dialog
Not (darcsit) bugs
- Plot is not generated here: this is because SVG in gnuplot does not support the {/Symbol } fonts, use unicode characters instead as shown here.
- This page does not exist any more: here: Well, it does not exist here either.
- This page does not exist, whereas this mirror does exists. Note that this page now exists, where it would link to a folder on the old website? It existed on the old site only because an obsolete version of the file was cached and not correctly updated, so this was a bug in the old site, not the new.
- I want to ignore a warning here, but it is treated as an error. Calling undeclared functions is (really) bad, so you should find the cause of the warning/error in your code and fix it, rather than ignoring it.
Fixed bugs
- All pages in the sandbox give an “Internal Error” message.
- SIGFPE in progress.h: e.g. here
- Cannot
#include
a specific header file: e.g. here - The file created by clicking a previously created link starts with the following (editable) lines:
<h1>404 Not Found</h1>
While retrieving URL /sandbox/lopez/ehd_2phase.h?raw on basilisk-wiki.localhost.
- This page should run using 3 threads, but it uses only 1.
- Page hangs at 100% progress: here
- The page corresponding to testcase lid.c is not properly updated. The results corresponding to this test case are not generated at the end.
- This error is not parsed properly
- If I edit a page, then preview, and click on a link to see if it works, and goes back to the initial pages, all the modifications are lost in the editor (don’t know if it is a bug but as far as I remember this did not do the same thing in the previous interface).
- History does not work when file name changes example This is not fixed for the general case, only for .page and space changes.
- Line numbers in comments here
- Internal error here
- Editing this page does not go well
- Saving a new page while it is running, does indeed save the page. But, instead of taking me to the new page, it prompts a red-dot error “message” (no text).
- This bothers me more than it should.
- Warnings are not parsed properly and/or the page is not updated here (after discarding during a first run).
- After deleting a .ch page using the wave (couette.c in the present case). The rest of pages are not accesible because of the following error:
500 Internal Server Error While retrieving URL /sandbox/lopez/drop.c.' /home/basilisk-wiki/wiki/sandbox/lopez/drop.c.log: make: *** No rule to make target 'couette.c.tags.d', needed by 'Makefile.deps'. Stop.
Granted wishes
- Side-by-side edit view.
- Math/Equations display proper using any browser.
- Documented files do not need the “.page” suffix anymore.
- Documented files do not have to start with a comment block.