Project

General

Profile

Bug #1546

Legacy tools tests failed on armv7a with SIGBUS

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

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

Description

Backtrace for latest master branch code


Will write tng: Trajectory file (tng format)
Select group for output
Group     0 (         System) has     6 elements
Group     1 (FirstWaterMolecule) has     3 elements
Group     2 (SecondWaterMolecule) has     3 elements
Select a group: Selected 2: 'SecondWaterMolecule'
Reading frame       1 time    0.000    ->  frame      1 time    0.000      
Program received signal SIGBUS, Bus error.
0xb682b6e0 in quantize_float (x=0x24, x@entry=0x87543, natoms=natoms@entry=3, nframes=nframes@entry=1, precision=0.000999999931, quant=0x1, quant@entry=0x8efa0)
    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) 
(gdb) bt
#0  0xb682b6e0 in quantize_float (x=0x24, x@entry=0x87543, natoms=natoms@entry=3, nframes=nframes@entry=1, precision=0.000999999931, quant=0x1, quant@entry=0x8efa0)
    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=0x87543, natoms=3, nframes=nframes@entry=1, desired_precision=desired_precision@entry=0.00100000005, speed=speed@entry=0, 
    algo=0x8b6f8, nitems=0xbeffc5bc) 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=0x87543, natoms=<optimized out>, nframes=nframes@entry=1, desired_precision=desired_precision@entry=0.00100000005, 
    speed=speed@entry=0, algo=0x8b6f8, nitems=0xbeffc5bc, nitems@entry=0xbeffc5b4) at /home/alexxy/Develop/gromacs/src/external/tng_io/src/compression/tng_compress.c:1279
#3  0xb6847cd4 in tng_compress (start_pos=<optimized out>, type=2 '\002', n_particles=1, n_frames=2468575403623720, block=0x88f00, tng_data=0x88f00)
    at /home/alexxy/Develop/gromacs/src/external/tng_io/src/lib/tng_io.c:4837
#4  tng_particle_data_block_write (tng_data=0x88f00, tng_data@entry=0x8c528, block=0x88f00, 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=0x8c528, hash_mode=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/tng_io/src/lib/tng_io.c:13107
#6  0xb686190c in tng_util_generic_write (tng_data=tng_data@entry=0x8c528, frame_nr=<optimized out>, values=values@entry=0x8bf50, n_values_per_frame=n_values_per_frame@entry=3, 
    block_id=block_id@entry=268435457, block_name=0xb6f0c810 "POSITIONS", block_name@entry=0x10000001 <error: Cannot access memory at address 0x10000001>, particle_dependency=1 '\001', 
    particle_dependency@entry=0 '\000', compression=2 '\002', compression@entry=16 '\020') at /home/alexxy/Develop/gromacs/src/external/tng_io/src/lib/tng_io.c:18151
#7  0xb68626f4 in tng_util_generic_with_time_write (tng_data=0x8c528, frame_nr=<optimized out>, time=0, values=0x8bf50, n_values_per_frame=3, block_id=268435457, 
    block_name=0xb6f0c810 "POSITIONS", particle_dependency=1 '\001', compression=2 '\002') at /home/alexxy/Develop/gromacs/src/external/tng_io/src/lib/tng_io.c:18662
#8  0xb6b44204 in gmx_fwrite_tng (tng=0x8c528, bUseLossyCompression=<optimized out>, step=1, elapsedPicoSeconds=<optimized out>, lambda=2.80259693e-45, 
    box=0x854b8 <__stack_chk_guard@@GLIBC_2.4>, nAtoms=3, x=0x8bf50, v=0x8b5c0, f=0x0) at /home/alexxy/Develop/gromacs/src/gromacs/fileio/tngio.cpp:796
#9  0xb6b3c6f8 in gmx_write_tng_from_trxframe (output=<optimized out>, frame=frame@entry=0xbeffcb90, natoms=3, natoms@entry=-1)
    at /home/alexxy/Develop/gromacs/src/gromacs/fileio/tngio_for_tools.cpp:198
#10 0xb6b4a360 in write_tng_frame (status=<optimized out>, frame=frame@entry=0xbeffcb90) at /home/alexxy/Develop/gromacs/src/gromacs/fileio/trxio.c:510
#11 0xb6c21ae4 in gmx_trjconv (argc=-1224967432, argv=<optimized out>) at /home/alexxy/Develop/gromacs/src/gromacs/gmxana/gmx_trjconv.c:1748
#12 0x00029638 in runTest (fileName=0x703a0 "spc2-traj.trr", this=<optimized out>) at /home/alexxy/Develop/gromacs/src/gromacs/gmxana/legacytests/gmx_traj_tests.cpp:117
#13 (anonymous namespace)::TrjconvWithIndexGroupSubset_WithDifferentInputFormats_Test::TestBody (this=<optimized out>)
    at /home/alexxy/Develop/gromacs/src/gromacs/gmxana/legacytests/gmx_traj_tests.cpp:128
#14 0x0006f254 in HandleSehExceptionsInMethodIfSupported<testing::Test, void> (location=0x761ac "the test body", method=&virtual testing::Test::TestBody(), object=0x8bec8)
    at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2078
#15 testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=object@entry=0x8bec8, method=&virtual testing::Test::TestBody(), 
    location=location@entry=0x761ac "the test body") at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2114
#16 0x00065dd4 in testing::Test::Run (this=0x8bec8) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2151
#17 0x00065fa0 in testing::TestInfo::Run (this=0x87958) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2326
#18 0x000660e0 in Run (this=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2301
#19 testing::TestCase::Run (this=0x879d8) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2444
#20 0x000665b0 in Run (this=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2430
#21 testing::internal::UnitTestImpl::RunAllTests (this=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:4315
#22 0x000667fc 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
#23 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (location=0x76318 "auxiliary test code (environments or event listeners)", 
    method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x661bc <testing::internal::UnitTestImpl::RunAllTests()>, object=0x86ca8)
    at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2114
#24 testing::UnitTest::Run (this=<optimized out>) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:3929
#25 0x00028428 in RUN_ALL_TESTS () at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/include/gtest/gtest.h:2288
#26 main (argc=164904, argv=0xbeffef04) at /home/alexxy/Develop/gromacs/src/testutils/unittest_main.cpp:63
(gdb) up
#1  0xb682c7c0 in tng_compress_pos_float (pos=pos@entry=0x87543, natoms=3, nframes=nframes@entry=1, desired_precision=desired_precision@entry=0.00100000005, speed=speed@entry=0, 
    algo=0x8b6f8, nitems=0xbeffc5bc) 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=0x87543, natoms=<optimized out>, nframes=nframes@entry=1, desired_precision=desired_precision@entry=0.00100000005, 
    speed=speed@entry=0, algo=0x8b6f8, nitems=0xbeffc5bc, nitems@entry=0xbeffc5b4) 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  0xb6847cd4 in tng_compress (start_pos=<optimized out>, type=2 '\002', n_particles=1, n_frames=2468575403623720, block=0x88f00, tng_data=0x88f00)
    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=0x88f00, tng_data@entry=0x8c528, block=0x88f00, 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=0x8c528, 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  0xb686190c in tng_util_generic_write (tng_data=tng_data@entry=0x8c528, frame_nr=<optimized out>, values=values@entry=0x8bf50, n_values_per_frame=n_values_per_frame@entry=3, 
    block_id=block_id@entry=268435457, block_name=0xb6f0c810 "POSITIONS", block_name@entry=0x10000001 <error: Cannot access memory at address 0x10000001>, particle_dependency=1 '\001', 
    particle_dependency@entry=0 '\000', compression=2 '\002', compression@entry=16 '\020') at /home/alexxy/Develop/gromacs/src/external/tng_io/src/lib/tng_io.c:18151
18151               stat = tng_frame_set_write(tng_data, TNG_USE_HASH);
(gdb) up
#7  0xb68626f4 in tng_util_generic_with_time_write (tng_data=0x8c528, frame_nr=<optimized out>, time=0, values=0x8bf50, n_values_per_frame=3, block_id=268435457, 
    block_name=0xb6f0c810 "POSITIONS", particle_dependency=1 '\001', compression=2 '\002') at /home/alexxy/Develop/gromacs/src/external/tng_io/src/lib/tng_io.c:18662
18662       stat = tng_util_generic_write(tng_data, frame_nr, values, n_values_per_frame,
(gdb) up
#8  0xb6b44204 in gmx_fwrite_tng (tng=0x8c528, bUseLossyCompression=<optimized out>, step=1, elapsedPicoSeconds=<optimized out>, lambda=2.80259693e-45, 
    box=0x854b8 <__stack_chk_guard@@GLIBC_2.4>, nAtoms=3, x=0x8bf50, v=0x8b5c0, f=0x0) at /home/alexxy/Develop/gromacs/src/gromacs/fileio/tngio.cpp:796
796                            compression) != TNG_SUCCESS)
(gdb) up
#9  0xb6b3c6f8 in gmx_write_tng_from_trxframe (output=<optimized out>, frame=frame@entry=0xbeffcb90, natoms=3, natoms@entry=-1)
    at /home/alexxy/Develop/gromacs/src/gromacs/fileio/tngio_for_tools.cpp:198
198                        (const rvec *) frame->f);
(gdb) up
#10 0xb6b4a360 in write_tng_frame (status=<optimized out>, frame=frame@entry=0xbeffcb90) at /home/alexxy/Develop/gromacs/src/gromacs/fileio/trxio.c:510
510         gmx_write_tng_from_trxframe(status->tng, frame, -1);
(gdb) up
#11 0xb6c21ae4 in gmx_trjconv (argc=-1224967432, argv=<optimized out>) at /home/alexxy/Develop/gromacs/src/gromacs/gmxana/gmx_trjconv.c:1748
1748                                    write_tng_frame(trxout, &frout);
(gdb) up
#12 0x00029638 in runTest (fileName=0x703a0 "spc2-traj.trr", this=<optimized out>) at /home/alexxy/Develop/gromacs/src/gromacs/gmxana/legacytests/gmx_traj_tests.cpp:117
117                 return gmx_trjconv(caller.argc(), caller.argv());
(gdb) up
#13 (anonymous namespace)::TrjconvWithIndexGroupSubset_WithDifferentInputFormats_Test::TestBody (this=<optimized out>)
    at /home/alexxy/Develop/gromacs/src/gromacs/gmxana/legacytests/gmx_traj_tests.cpp:128
128         runTest(GetParam());
(gdb) up
#14 0x0006f254 in HandleSehExceptionsInMethodIfSupported<testing::Test, void> (location=0x761ac "the test body", method=&virtual testing::Test::TestBody(), object=0x8bec8)
    at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2078
2078      return (object->*method)();
(gdb) up
#15 testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=object@entry=0x8bec8, method=&virtual testing::Test::TestBody(), 
    location=location@entry=0x761ac "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
#16 0x00065dd4 in testing::Test::Run (this=0x8bec8) 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
#17 0x00065fa0 in testing::TestInfo::Run (this=0x87958) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2326
2326        test->Run();
(gdb) up
#18 0x000660e0 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
#19 testing::TestCase::Run (this=0x879d8) at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2444
2444        GetMutableTestInfo(i)->Run();
(gdb) up
#20 0x000665b0 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
#21 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
#22 0x000667fc 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
#23 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (location=0x76318 "auxiliary test code (environments or event listeners)", 
    method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x661bc <testing::internal::UnitTestImpl::RunAllTests()>, object=0x86ca8)
    at /home/alexxy/Develop/gromacs/src/external/gmock-1.7.0/gtest/src/gtest.cc:2114
2114          return HandleSehExceptionsInMethodIfSupported(object, method, location);
(gdb) up
#24 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
#25 0x00028428 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
#26 main (argc=164904, argv=0xbeffef04) 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.


Related issues

Related to GROMACS - Bug #1559: Writing TNG files fails on Xeon PhiClosed2014-07-10
Is duplicate of GROMACS - Bug #1542: two unit tests fail on 32-bit ARMClosed2014-06-30

Associated revisions

Revision 898166c3 (diff)
Added by Magnus Lundborg over 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 over 3 years ago

  • Is duplicate of Bug #1542: two unit tests fail on 32-bit ARM added

#2 Updated by Magnus Lundborg over 3 years ago

  • Status changed from New to In Progress
  • Assignee set to Magnus Lundborg

#3 Updated by Mark Abraham over 3 years ago

  • Description updated (diff)

#4 Updated by Magnus Lundborg over 3 years ago

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

#5 Updated by Gerrit Code Review Bot over 3 years ago

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

#6 Updated by Magnus Lundborg over 3 years ago

  • Status changed from In Progress to Fix uploaded

#7 Updated by Teemu Murtola over 3 years ago

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

#8 Updated by Roland Schulz over 3 years ago

  • Status changed from Fix uploaded to Closed

Also available in: Atom PDF