Project

General

Profile

Bug #1547

MDRUN tools tests failed on armv7a with SIGBUS

Added by Alexey Shvetsov almost 3 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Normal
Category:
core library
Target version:
Affected version - extra info:
Affected version:
Difficulty:
uncategorized
Close

Description

Also backtrace for mdrun-test

WARNING: Using the slow plain C kernels. This should
not happen during routine usage on supported platforms.

starting mdrun 'spc-and-methanol'
6 steps,      0.0 ps.

Program received signal SIGBUS, Bus error.
0xb682b6e0 in quantize_float (x=0x24, x@entry=0x9591bb, natoms=natoms@entry=3, nframes=1, nframes@entry=2, precision=0.000999999931, quant=0x2, quant@entry=0x959208)
    at /home/alexxy/Develop/gromacs/src/external/tng_io/src/compression/tng_compress.c:91
91              quant[iframe*natoms*3+i*3+j]=(int)floor((x[iframe*natoms*3+i*3+j]/precision)+0.5);
(gdb) bt
#0  0xb682b6e0 in quantize_float (x=0x24, x@entry=0x9591bb, natoms=natoms@entry=3, nframes=1, nframes@entry=2, precision=0.000999999931, quant=0x2, quant@entry=0x959208)
    at /home/alexxy/Develop/gromacs/src/external/tng_io/src/compression/tng_compress.c:91
#1  0xb682c7c0 in tng_compress_pos_float (pos=pos@entry=0x9591bb, natoms=3, nframes=2, desired_precision=desired_precision@entry=0.00100000005, speed=speed@entry=0, algo=0x2017728, 
    nitems=0xbeffc30c) at /home/alexxy/Develop/gromacs/src/external/tng_io/src/compression/tng_compress.c:1248
#2  0xb682c874 in tng_compress_pos_float_find_algo (pos=pos@entry=0x9591bb, natoms=<optimized out>, nframes=<optimized out>, desired_precision=desired_precision@entry=0.00100000005, 
    speed=speed@entry=0, algo=0x2017728, nitems=0xbeffc30c, nitems@entry=0xbeffc304) at /home/alexxy/Develop/gromacs/src/external/tng_io/src/compression/tng_compress.c:1279
#3  0xb6847cb0 in tng_compress (start_pos=<optimized out>, type=2 '\002', n_particles=2, n_frames=31511178625676096, block=0x9590c8, tng_data=0x9590c8)
    at /home/alexxy/Develop/gromacs/src/external/tng_io/src/lib/tng_io.c:4837
#4  tng_particle_data_block_write (tng_data=0x9590c8, tng_data@entry=0x6ff340, block=0x9590c8, block_index=<optimized out>, mapping=mapping@entry=0x0, hash_mode=hash_mode@entry=1 '\001')
    at /home/alexxy/Develop/gromacs/src/external/tng_io/src/lib/tng_io.c:6311
#5  0xb685661c in tng_frame_set_write (tng_data=0x6ff340, hash_mode=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/tng_io/src/lib/tng_io.c:13107
#6  0xb6b5cf60 in mdoutf_write_to_trajectory_files (fplog=0x200a7d0, cr=0x1df1b60, of=0x200ee40, mdof_flags=19, top_global=0x1ffe138, step=6, t=0.0060000000000000001, state_local=0x20101f0, 
    state_global=0x1df1328, f_local=0x702e08, f_global=0x702e08) at /home/alexxy/Develop/gromacs/src/gromacs/fileio/mdoutf.c:299
#7  0xb6b5c3b8 in do_md_trajectory_writing (fplog=0x1ffe138, cr=0x1df1b60, nfile=7351896, fnm=0x0, step=6, step_rel=6, t=0.0060000000000000001, ir=0x1df0d20, state=0x20101f0, 
    state_global=0x1df1328, top_global=0x1ffe138, fr=0x200e568, outf=0x200ee40, mdebin=0x701d30, ekind=0x702e58, f=0x702e08, f_global=0x702e08, wcycle=0x0, nchkpt=0xbeffc6c4, bCPT=1, 
    bRerunMD=0, bLastStep=1, bDoConfOut=4096, bSumEkinhOld=0) at /home/alexxy/Develop/gromacs/src/gromacs/fileio/trajectory_writing.c:146
#8  0x00045078 in do_md (fplog=0x6, cr=0x1df1b60, nfile=0, fnm=0x0, oenv=0x200bcd8, bVerbose=0, bCompact=1, nstglobalcomm=1, vsite=0x0, constr=0x200ede0, stepout=100, ir=0x1df0d20, 
    top_global=0x1ffe138, fcd=0x1ffe298, state_global=0x1df1328, mdatoms=0x200ed38, nrnb=0x200dba8, wcycle=0x0, ed=0x0, fr=0x200e568, repl_ex_nst=0, repl_ex_nex=0, repl_ex_seed=-1, 
    membed=0x0, cpt_period=15, max_hours=-1, deviceOptions=0x93f98 "", imdport=8888, Flags=1055744, walltime_accounting=0x696e28)
    at /home/alexxy/Develop/gromacs/src/programs/mdrun/md.cpp:1316
#9  0x0004a4dc in mdrunner (hw_opt=<optimized out>, fplog=0x93f98, cr=0x1df1b60, nfile=<optimized out>, fnm=0xbeffcf58, oenv=0x200bcd8, bVerbose=0, bCompact=1, nstglobalcomm=-1, 
    ddxyz=0xbeffcecc, dd_node_order=1, rdd=<optimized out>, rconstr=0, dddlb_opt=0x94d4c "auto", dlb_scale=0.800000012, ddcsx=0x0, ddcsy=0x0, ddcsz=0x0, nbpu_opt=0x94d4c "auto", 
    nstlist_cmdline=0, nsteps_cmdline=-2, nstepout=100, resetstep=-1, nmultisim=0, repl_ex_nst=0, repl_ex_nex=0, repl_ex_seed=-1, pforce=<optimized out>, cpt_period=0, max_hours=-1, 
    deviceOptions=0x93f98 "", imdport=8888, Flags=606104) at /home/alexxy/Develop/gromacs/src/programs/mdrun/runner.cpp:1762
#10 0x0004f38c in gmx_mdrun (argc=0, argc@entry=17, argv=<optimized out>) at /home/alexxy/Develop/gromacs/src/programs/mdrun/mdrun.cpp:790
#11 0x0003d6b4 in gmx::test::MdrunTestFixture::callMdrun (this=this@entry=0x60cec0, callerRef=...) at /home/alexxy/Develop/gromacs/src/programs/mdrun/tests/moduletest.cpp:211
#12 0x0003d7a4 in gmx::test::MdrunTestFixture::callMdrun (this=this@entry=0x60cec0) at /home/alexxy/Develop/gromacs/src/programs/mdrun/tests/moduletest.cpp:219
#13 0x000378ec in runTest (this=0x60cec0) at /home/alexxy/Develop/gromacs/src/programs/mdrun/tests/trajectory_writing.cpp:76
#14 (anonymous namespace)::Trajectories_ThatDifferInNstxout_Test::TestBody (this=0x60cec0) at /home/alexxy/Develop/gromacs/src/programs/mdrun/tests/trajectory_writing.cpp:105
#15 0x00090114 in HandleSehExceptionsInMethodIfSupported<testing::Test, void> (location=0xa2578 "the test body", method=&virtual testing::Test::TestBody(), object=0x60cec0)
    at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2078
#16 testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=object@entry=0x60cec0, method=&virtual testing::Test::TestBody(), 
    location=location@entry=0xa2578 "the test body") at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2114
#17 0x00086c94 in testing::Test::Run (this=0x60cec0) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2151
#18 0x00086e60 in testing::TestInfo::Run (this=0xb6a60) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2326
#19 0x00086fa0 in Run (this=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2301
#20 testing::TestCase::Run (this=0xb6b10) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2444
#21 0x00087470 in Run (this=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2430
#22 testing::internal::UnitTestImpl::RunAllTests (this=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:4315
#23 0x000876bc in HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (location=<optimized out>, method=<optimized out>, object=<optimized out>)
    at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2078
#24 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (location=0xa26e4 "auxiliary test code (environments or event listeners)", 
    method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x8707c <testing::internal::UnitTestImpl::RunAllTests()>, object=0xb4ca8)
    at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2114
#25 testing::UnitTest::Run (this=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:3929
---Type <return> to continue, or q <return> to quit---
#26 0x0002f558 in RUN_ALL_TESTS () at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/include/gtest/gtest.h:2288
#27 main (argc=193880, argv=0xbeffef14) at /home/alexxy/Develop/gromacs/src/testutils/unittest_main.cpp:63
(gdb) up
#1  0xb682c7c0 in tng_compress_pos_float (pos=pos@entry=0x9591bb, natoms=3, nframes=2, desired_precision=desired_precision@entry=0.00100000005, speed=speed@entry=0, algo=0x2017728, 
    nitems=0xbeffc30c) at /home/alexxy/Develop/gromacs/src/external/tng_io/src/compression/tng_compress.c:1248
1248      if (quantize_float(pos,natoms,nframes,(float)PRECISION(prec_hi,prec_lo),quant))
(gdb) up
#2  0xb682c874 in tng_compress_pos_float_find_algo (pos=pos@entry=0x9591bb, natoms=<optimized out>, nframes=<optimized out>, desired_precision=desired_precision@entry=0.00100000005, 
    speed=speed@entry=0, algo=0x2017728, nitems=0xbeffc30c, nitems@entry=0xbeffc304) at /home/alexxy/Develop/gromacs/src/external/tng_io/src/compression/tng_compress.c:1279
1279      return tng_compress_pos_float(pos,natoms,nframes,desired_precision,speed,algo,nitems);
(gdb) up
#3  0xb6847cb0 in tng_compress (start_pos=<optimized out>, type=2 '\002', n_particles=2, n_frames=31511178625676096, block=0x9590c8, tng_data=0x9590c8)
    at /home/alexxy/Develop/gromacs/src/external/tng_io/src/lib/tng_io.c:4837
4837                    dest = tng_compress_pos_float_find_algo(start_pos, (int)n_particles,
(gdb) up
#4  tng_particle_data_block_write (tng_data=0x9590c8, tng_data@entry=0x6ff340, block=0x9590c8, block_index=<optimized out>, mapping=mapping@entry=0x0, hash_mode=hash_mode@entry=1 '\001')
    at /home/alexxy/Develop/gromacs/src/external/tng_io/src/lib/tng_io.c:6311
6311                stat = tng_compress(tng_data, block, frame_step,
(gdb) up
#5  0xb685661c in tng_frame_set_write (tng_data=0x6ff340, hash_mode=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/tng_io/src/lib/tng_io.c:13107
13107               tng_particle_data_block_write(tng_data, block,
(gdb) up
#6  0xb6b5cf60 in mdoutf_write_to_trajectory_files (fplog=0x200a7d0, cr=0x1df1b60, of=0x200ee40, mdof_flags=19, top_global=0x1ffe138, step=6, t=0.0060000000000000001, state_local=0x20101f0, 
    state_global=0x1df1328, f_local=0x702e08, f_global=0x702e08) at /home/alexxy/Develop/gromacs/src/gromacs/fileio/mdoutf.c:299
299                 fflush_tng(of->tng_low_prec);
(gdb) up
#7  0xb6b5c3b8 in do_md_trajectory_writing (fplog=0x1ffe138, cr=0x1df1b60, nfile=7351896, fnm=0x0, step=6, step_rel=6, t=0.0060000000000000001, ir=0x1df0d20, state=0x20101f0, 
    state_global=0x1df1328, top_global=0x1ffe138, fr=0x200e568, outf=0x200ee40, mdebin=0x701d30, ekind=0x702e58, f=0x702e08, f_global=0x702e08, wcycle=0x0, nchkpt=0xbeffc6c4, bCPT=1, 
    bRerunMD=0, bLastStep=1, bDoConfOut=4096, bSumEkinhOld=0) at /home/alexxy/Develop/gromacs/src/gromacs/fileio/trajectory_writing.c:146
146             mdoutf_write_to_trajectory_files(fplog, cr, outf, mdof_flags, top_global,
(gdb) up
#8  0x00045078 in do_md (fplog=0x6, cr=0x1df1b60, nfile=0, fnm=0x0, oenv=0x200bcd8, bVerbose=0, bCompact=1, nstglobalcomm=1, vsite=0x0, constr=0x200ede0, stepout=100, ir=0x1df0d20, 
    top_global=0x1ffe138, fcd=0x1ffe298, state_global=0x1df1328, mdatoms=0x200ed38, nrnb=0x200dba8, wcycle=0x0, ed=0x0, fr=0x200e568, repl_ex_nst=0, repl_ex_nex=0, repl_ex_seed=-1, 
    membed=0x0, cpt_period=15, max_hours=-1, deviceOptions=0x93f98 "", imdport=8888, Flags=1055744, walltime_accounting=0x696e28)
    at /home/alexxy/Develop/gromacs/src/programs/mdrun/md.cpp:1316
1316                                     bSumEkinhOld);
(gdb) up
#9  0x0004a4dc in mdrunner (hw_opt=<optimized out>, fplog=0x93f98, cr=0x1df1b60, nfile=<optimized out>, fnm=0xbeffcf58, oenv=0x200bcd8, bVerbose=0, bCompact=1, nstglobalcomm=-1, 
    ddxyz=0xbeffcecc, dd_node_order=1, rdd=<optimized out>, rconstr=0, dddlb_opt=0x94d4c "auto", dlb_scale=0.800000012, ddcsx=0x0, ddcsy=0x0, ddcsz=0x0, nbpu_opt=0x94d4c "auto", 
    nstlist_cmdline=0, nsteps_cmdline=-2, nstepout=100, resetstep=-1, nmultisim=0, repl_ex_nst=0, repl_ex_nex=0, repl_ex_seed=-1, pforce=<optimized out>, cpt_period=0, max_hours=-1, 
    deviceOptions=0x93f98 "", imdport=8888, Flags=606104) at /home/alexxy/Develop/gromacs/src/programs/mdrun/runner.cpp:1762
1762                                          walltime_accounting);
(gdb) up
#10 0x0004f38c in gmx_mdrun (argc=0, argc@entry=17, argv=<optimized out>) at /home/alexxy/Develop/gromacs/src/programs/mdrun/mdrun.cpp:790
790                       pforce, cpt_period, max_hours, deviceOptions, imdport, Flags);
(gdb) up
#11 0x0003d6b4 in gmx::test::MdrunTestFixture::callMdrun (this=this@entry=0x60cec0, callerRef=...) at /home/alexxy/Develop/gromacs/src/programs/mdrun/tests/moduletest.cpp:211
211         return gmx_mdrun(caller.argc(), caller.argv());
(gdb) up
#12 0x0003d7a4 in gmx::test::MdrunTestFixture::callMdrun (this=this@entry=0x60cec0) at /home/alexxy/Develop/gromacs/src/programs/mdrun/tests/moduletest.cpp:219
219         return callMdrun(caller);
(gdb) up
#13 0x000378ec in runTest (this=0x60cec0) at /home/alexxy/Develop/gromacs/src/programs/mdrun/tests/trajectory_writing.cpp:76
76                  ASSERT_EQ(0, callMdrun());
(gdb) up
#14 (anonymous namespace)::Trajectories_ThatDifferInNstxout_Test::TestBody (this=0x60cec0) at /home/alexxy/Develop/gromacs/src/programs/mdrun/tests/trajectory_writing.cpp:105
105         runTest();
(gdb) up
#15 0x00090114 in HandleSehExceptionsInMethodIfSupported<testing::Test, void> (location=0xa2578 "the test body", method=&virtual testing::Test::TestBody(), object=0x60cec0)
    at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2078
2078      return (object->*method)();
(gdb) up
#16 testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=object@entry=0x60cec0, method=&virtual testing::Test::TestBody(), 
    location=location@entry=0xa2578 "the test body") at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2114
2114          return HandleSehExceptionsInMethodIfSupported(object, method, location);
(gdb) up
#17 0x00086c94 in testing::Test::Run (this=0x60cec0) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2151
2151            this, &Test::TestBody, "the test body");
(gdb) up
#18 0x00086e60 in testing::TestInfo::Run (this=0xb6a60) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2326
2326        test->Run();
(gdb) up
#19 0x00086fa0 in Run (this=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2301
2301      if (!should_run_) return;
(gdb) up
#20 testing::TestCase::Run (this=0xb6b10) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2444
2444        GetMutableTestInfo(i)->Run();
(gdb) up
#21 0x00087470 in Run (this=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2430
2430      if (!should_run_) return;
(gdb) up
#22 testing::internal::UnitTestImpl::RunAllTests (this=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:4315
4315              GetMutableTestCase(test_index)->Run();
(gdb) up
#23 0x000876bc in HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (location=<optimized out>, method=<optimized out>, object=<optimized out>)
    at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2078
2078      return (object->*method)();
(gdb) up
#24 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (location=0xa26e4 "auxiliary test code (environments or event listeners)", 
    method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x8707c <testing::internal::UnitTestImpl::RunAllTests()>, object=0xb4ca8)
    at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2114
2114          return HandleSehExceptionsInMethodIfSupported(object, method, location);
(gdb) up
#25 testing::UnitTest::Run (this=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:3929
3929          "auxiliary test code (environments or event listeners)") ? 0 : 1;
(gdb) up
#26 0x0002f558 in RUN_ALL_TESTS () at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/include/gtest/gtest.h:2288
2288      return ::testing::UnitTest::GetInstance()->Run();
(gdb) up
#27 main (argc=193880, argv=0xbeffef14) at /home/alexxy/Develop/gromacs/src/testutils/unittest_main.cpp:63
63          int errcode = RUN_ALL_TESTS();
(gdb) up
Initial frame selected; you cannot go up.
(gdb)


Related issues

Related to GROMACS - Bug #1559: Writing TNG files fails on Xeon Phi Closed 07/10/2014
Duplicates GROMACS - Bug #1542: two unit tests fail on 32-bit ARM Closed 06/30/2014

Associated revisions

Revision 898166c3 (diff)
Added by Magnus Lundborg almost 3 years ago

Fixed TNG memory alignment problem and reset pointers.

This is a temporary fix to the memory alignment problems on some
platforms. In the main TNG repository the whole I/O system is
rewritten to address this problem. This fix is to avoid the
problems without making too large changes.

There are also some pointers that were not reset after memory
was freed. This is also fixed in here.

This commit does not correspond to any commit in the TNG
repository.

Fixes #1542, #1546, #1547 and #1559.

Change-Id: I90a6406cccbc43fd57d4423c2b661019cf7763e8

History

#1 Updated by Teemu Murtola almost 3 years ago

  • Duplicates Bug #1542: two unit tests fail on 32-bit ARM added

#2 Updated by Magnus Lundborg almost 3 years ago

  • Assignee set to Magnus Lundborg

#3 Updated by Magnus Lundborg almost 3 years ago

  • Status changed from New to In Progress

#4 Updated by Mark Abraham almost 3 years ago

  • Description updated (diff)

#5 Updated by Magnus Lundborg almost 3 years ago

  • Related to Bug #1559: Writing TNG files fails on Xeon Phi added

#6 Updated by Gerrit Code Review Bot almost 3 years ago

Gerrit received a related patchset '1' for Issue #1547.
Uploader: Magnus Lundborg ()
Change-Id: I96e0704d3858264ca918603bf1d7e3b27b4db7ea
Gerrit URL: https://gerrit.gromacs.org/3799

#7 Updated by Magnus Lundborg almost 3 years ago

  • Status changed from In Progress to Fix uploaded

#8 Updated by Teemu Murtola almost 3 years ago

  • Category changed from testing to core library
  • Target version changed from 5.x to 5.1

#9 Updated by Roland Schulz almost 3 years ago

  • Status changed from Fix uploaded to Closed

Also available in: Atom PDF