corrupted double-linked list when running DualSPHysics5.0

I downloaded the DualSPHysics5.0 package from the website (not github version). If I just use the binary from out of the box it works fine, but when I try and compile my own I get the following error:

corrupted double-linked list

I didn't change the source code yet and didn't get any errors when compiling the source but did get some warnings which are attached. I also tried to compile the CPU only version and got the same error. The case I am using is attached. Again, this case runs fine with the supplied binary but not with the binary that I compiled. Other examples from within the package seem to run ok. I would be curious to know what environment other use to compile? I am using Ubuntu 20.04. The Makefiles are attached as well. Any help or insights would be very much appreciated.


Comments

  • With the address sanitizer enabled I get the following error which indicates there may be something up with the chrono lib. is there somewhere I can look into the source for this?


     <DUALSPHYSICS5> Copyright (c) 2020 by

     Dr Jose M. Dominguez Alonso, Dr Alejandro Crespo,

     Prof. Moncho Gomez Gesteira, Prof. Benedict Rogers,

     Dr Georgios Fourtakas, Prof. Peter Stansby,

     Dr Renato Vacondio, Dr Corrado Altomare, Dr Angelo Tafuni,

     Dr Orlando Garcia Feal, Ivan Martinez Estevez

     EPHYSLAB Environmental Physics Laboratory, Universidade de Vigo

     School of Mechanical, Aerospace and Civil Engineering, University of Manchester

     DualSPHysics is free software: you can redistribute it and/or

     modify it under the terms of the GNU Lesser General Public License

     as published by the Free Software Foundation, either version 2.1 of

     the License, or (at your option) any later version.

     DualSPHysics is distributed in the hope that it will be useful,

     but WITHOUT ANY WARRANTY; without even the implied warranty of

     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

     GNU Lesser General Public License for more details.

     You should have received a copy of the GNU Lesser General Public License

     along with DualSPHysics. If not, see <http://www.gnu.org/licenses/>.

    DualSPHysics5 v5.0.193 (23-07-2021)

    ====================================

    LoadDsphConfig> .../bin/linux/DsphConfig.xml

    rk: loading config

    Threads by host for parallel execution: 16

    [Initialising JSphCpuSingle 03-05-2022 09:37:19]

    ProgramFile=".../bin/linux/DualSPHysics5.0_linux64_debug"

    ExecutionDir=".../DATA/Masters Research/chrono3"

    XmlFile=".../chrono3/ship_out/ship.xml"

    OutputDir=".../Masters Research/chrono3/ship_out"

    OutputDataDir=".../Masters Research/chrono3/ship_out"

    XML-App: GenCase v5.0.238 (22-07-2021)

    XML-Vars (uservars + ctes): CaseName=["ship"] Data2D=[0] Data2DPosy=[0] H=[0.0173205] KernelSize=[0.034641] B=[358766] Gamma=[7] Rhop0=[1000] Dp=[0.01] Gravity_x=[0] Gravity_y=[0] Gravity_z=[-9.81] MassFluid=[0.001] MassBound=[0.001]

    XML-Vars (parameters): TimeMax=[2] TimeOut=[0.01]

    Threads by host for parallel execution in Chrono: 1

    **Basic case configuration is loaded

    **Special case configuration is loaded

    rk: config loaded

    Loading initial state of particles...

    PartsLoaded=new JPartsLoad4(Cpu);...

    ship_out/ship.bi4opening new NewStreamPartsLoaded->LoadParticles(DirCase,CaseName,PartBegin,PartBeginDir);;...

    PartsLoaded->CheckConfig(CaseNp,CaseNfixed,CaseNmoving,CaseNfloat,CaseNfluid,Simulate2D,Simulate2DPosY,TpPeri(PeriActive));

    Loaded particles: 1918317

    MapRealPos(border)=(-1.50087,-0.500866,-0.500866)-(1.50087,0.500866,0.500866)

    MapRealPos(final)=(-1.50087,-0.500866,-0.500866)-(1.50087,0.500866,0.500866)

    **Initial state of particles is loaded

    **3D-Simulation parameters:

    CaseName="ship"

    RunName="ship"

    Symmetry=False

    SavePosDouble=False

    SaveFtAce=False

    SvTimers=True

    Boundary="DBC"

    StepAlgorithm="Symplectic"

    Kernel="Wendland"

     Wendland.awen=80401.8

     Wendland.bwen=-2.321011e+07

    Viscosity="Laminar+SPS"

     Visco=0.000001

     ViscoBoundFactor=1

    DensityDiffusion="None"

    Shifting="None"

    RigidAlgorithm="SPH+CHRONO"

    FloatingCount=2

    FtPause=0

    FtConstraints=False

    FtIgnoreRadius=False

    CaseNp=1918317

    CaseNbound=147268

    CaseNfixed=140002

    CaseNmoving=0

    CaseNfloat=7266

    CaseNfluid=1771049

    PeriodicActive="None"

    Dp=0.01

    KernelH=0.017321 (CoefficientH=1; H/Dp=1.73205)

    KernelSize=0.03464102

    CteB=358765.7

    Gamma=7

    RhopZero=1000

    Cs0=50.11347155456305

    CFLnumber=0.2

    DtIni=0.0003456257888357808

    DtMin=6.912515622208847e-06

    DtAllParticles=False

    MassFluid=0.001

    MassBound=0.001

    SpsSmag=0.00000048

    SpsBlin=1.466667e-07

    FtPause=0

    TimeMax=2

    TimePart=0.01

    Gravity=(0,0,-9.81)

    NpMinimum=147268

    RhopOut=True

    RhopOutMin=700

    RhopOutMax=1300

    WrnPartsOut=True

    **Requested CPU memory for 1918445 particles: 373.2 MB.

    CellMode="Full"

    ScellDiv=1

    MapCells=(87,29,29)

    CellDomFixed=False

    DomCells=(87,29,29)

    DomCellCode="13_10_10"

    **CellDiv: Requested cpu memory for 2014360 particles: 61.5 MB.

    **CellDiv: Requested cpu memory for 55440 cells (CellMode=Full): 0.8 MB.

     

    RunMode="Pos-Double - HostName:richard-Precision-3650-Tower - OpenMP(Threads:16)"

     

    Particle summary:

     Fixed....: 140002 id:(0-140001)  MKs:1 (11)

     Moving...: 0

     Floating.: 7266 id:(140002-147267)  MKs:2 (10,12)

     Fluid....: 1771049 id:(147268-1918316)  MKs:1 (1)

    Total particles: 1918317 (bound=147268 (fx=140002 mv=0 ft=7266) fluid=1771049)

    Total MK blocks: 4 (bound=3 (fx=1 mv=0 ft=2) fluid=1)

     

    Chrono Objects configuration:

    AddressSanitizer:DEADLYSIGNAL

    =================================================================

    ==66840==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f76d9e076b6 bp 0x7ffe065ed800 sp 0x7ffe065ed750 T0)

    ==66840==The signal is caused by a READ memory access.

    ==66840==Hint: address points to the zero page.

       #0 0x7f76d9e076b5 in JChronoData::operator=(JChronoData const&) (/home/richard/DualSPHysics_v5.0/bin/linux/libdsphchrono.so+0x416b5)

       #1 0x7f76d9de5f4d in DSPHChronoLib::DSPHChronoLib(JChronoData const&) (/home/richard/DualSPHysics_v5.0/bin/linux/libdsphchrono.so+0x1ff4d)

       #2 0x7f76d9de8eb1 in DSPHChronoLibSC::DSPHChronoLibSC(JChronoData const&) (/home/richard/DualSPHysics_v5.0/bin/linux/libdsphchrono.so+0x22eb1)

       #3 0x55ceee4724fa in JChronoObjects::Init(JSphMk const*) /home/richard/DualSPHysics_v5.0/src/source/JChronoObjects.cpp:733

       #4 0x55ceee22b852 in JSph::InitRun(unsigned int, unsigned int const*, tdouble3 const*) /home/richard/DualSPHysics_v5.0/src/source/JSph.cpp:2174

       #5 0x55ceee245fc1 in JSphCpu::InitRunCpu() /home/richard/DualSPHysics_v5.0/src/source/JSphCpu.cpp:427

       #6 0x55ceee331bc5 in JSphCpuSingle::Run(std::string, JSphCfgRun const*, JLog2*) /home/richard/DualSPHysics_v5.0/src/source/JSphCpuSingle.cpp:1034

       #7 0x55ceee3258af in main /home/richard/DualSPHysics_v5.0/src/source/main.cpp:173

       #8 0x7f76d67e80b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x240b2)

       #9 0x55ceee0ef2bd in _start (/home/richard/DualSPHysics_v5.0/bin/linux/DualSPHysics5.0_linux64_debug+0x1d2bd)

    AddressSanitizer can not provide additional info.

    SUMMARY: AddressSanitizer: SEGV (/home/richard/DualSPHysics_v5.0/bin/linux/libdsphchrono.so+0x416b5) in JChronoData::operator=(JChronoData const&)

    ==66840==ABORTING

Sign In or Register to comment.