[Dune] UG grid problem: ID overflow DDD_HdrConstructor
Eike Mueller
E.Mueller at bath.ac.uk
Mon Nov 26 18:39:46 CET 2012
Hi Markus and Oliver,
to get to the bottom of this I recompiled everything (UG+Dune+my code) with -O0 -g, and that way I was able to get some more
information out of the core dump. On 1 processor it runs fine now, but when running on 6, this is what I get, looks like it
crashes in loadBalance(), but I can't make sense of what's happening inside UG. It always seems to crash inside ifcreate.c,
either in line 482 or 489:
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000a438b0 in UG::D3::IFCreateFromScratch (tmpcpl=0x1462ad0,
ifId=1) at if/ifcreate.c:489
489 ifHead->nItems++;
(gdb) backtrace
#0 0x0000000000a438b0 in UG::D3::IFCreateFromScratch (tmpcpl=0x1462ad0,
ifId=1) at if/ifcreate.c:489
#1 0x0000000000a44dae in UG::D3::IFRebuildAll () at if/ifcreate.c:1059
#2 0x0000000000a44e71 in UG::D3::IFAllFromScratch () at if/ifcreate.c:1097
#3 0x0000000000a4bd89 in UG::D3::DDD_XferEnd () at xfer/cmds.c:869
#4 0x0000000000a65b5c in UG::D3::TransferGridFromLevel (theMG=0x1441880,
level=0) at trans.c:835
#5 0x0000000000a5df4b in UG::D3::lbs (argv=0x7fffffffa390 "0",
theMG=0x1441880) at lb.c:659
#6 0x0000000000a0bd83 in UG::D3::LBCommand (argc=4, argv=0x7fffffffab90)
at commands.c:10658
#7 0x00000000004a1e2d in Dune::UG_NS<3>::LBCommand (argc=4,
argv=0x7fffffffab90) at ../../../dune/grid/uggrid/ugwrapper.hh:979
#8 0x00000000004a8df9 in Dune::UGGrid<3>::loadBalance (this=0x134e490,
strategy=0, minlevel=0, depth=2, maxLevel=32, minelement=1)
at uggrid.cc:556
#9 0x00000000004077bf in Dune::UGGrid<3>::loadBalance (this=0x134e490)
at /home/n02/n02/eike/work/Library/Dune2.2/include/dune/grid/uggrid.hh:738
#10 0x0000000000400928 in main (argc=3, argv=0x7fffffffb5a8)
at testsphericalgridgenerator.cc:65
but I sometimes also get:
Core was generated by `./testsphericalgridgenerator sphericalshell_cube_6.dgf 4'.
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000a438b0 in UG::D3::IFCreateFromScratch (tmpcpl=0x1462ad0,
ifId=1) at if/ifcreate.c:482
482 ifAttr->nAB = ifAttr->nBA = ifAttr->nABA = 0;
(gdb) backtrace
#0 0x0000000000a438b0 in UG::D3::IFCreateFromScratch (tmpcpl=0x1462ad0,
ifId=1) at if/ifcreate.c:482
#1 0x0000000000a44dae in UG::D3::IFRebuildAll () at if/ifcreate.c:1049
#2 0x0000000000a44e71 in UG::D3::IFRebuildAll () at if/ifcreate.c:1057
#3 0x0000000000a4bd89 in UG::D3::DDD_XferEnd () at xfer/cmds.c:850
#4 0x0000000000a65b5c in UG::D3::TransferGridFromLevel (theMG=0x1441880,
level=0) at trans.c:824
#5 0x0000000000a5df4b in UG::D3::lbs (argv=0x7fffffffa390 "0",
theMG=0x1441880) at lb.c:644
#6 0x0000000000a0bd83 in UG::D3::LBCommand (argc=4, argv=0x7fffffffab90)
at commands.c:10644
#7 0x00000000004a1e2d in Dune::UG_NS<3>::LBCommand (argc=0,
argv=0x7fffffffa420) at ../../../dune/grid/uggrid/ugwrapper.hh:977
#8 0x00000000004a8df9 in Dune::UGGrid<3>::loadBalance (this=0x134e490,
strategy=0, minlevel=0, depth=2, maxLevel=32, minelement=1)
at uggrid.cc:554
#9 0x00000000004077bf in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x134e490, __in_chrg=<optimized
out>)
at /opt/gcc/4.6.3/snos/include/g++/bits/shared_ptr_base.h:550
#10 0x0000000000400928 in main (argc=0, argv=0x520)
at testsphericalgridgenerator.cc:66
I've tried different load balancing strategies, but for all I get a segfault.
Cheers,
Eike
Markus Blatt wrote:
> On Mon, Nov 26, 2012 at 01:57:15PM +0000, Eike Mueller wrote:
>> thanks a lot for the patch, unfortunately I still get a segfault when I run on HECToR.
>>
>
> I feared that, but it was still worth a shot. The change probably
> interferes with the memory allocation in ddd.
>
> Markus
--
Dr Eike Mueller
Research Officer
Department of Mathematical Sciences
University of Bath
Bath BA2 7AY, United Kingdom
+44 1225 38 5633
e.mueller at bath.ac.uk
http://people.bath.ac.uk/em459/
More information about the Dune
mailing list