[Gmsh] Bug report in gmsh 2.4.2

Patrick Farrell patrick.farrell06 at imperial.ac.uk
Fri Oct 2 13:11:16 CEST 2009


Hi,

I think I have found a bug in gmsh;
when I run

$ gmsh -2 channel_2d.geo

on the attached file, glibc gives the following error:

*** glibc detected *** /usr/bin/gmsh: corrupted double-linked list: 0x0000000002e141e0 ***

This is with

$ gmsh -version
2.4.2

on the following system:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:  Ubuntu 8.10
Release:  8.10
Codename: intrepid
$ uname -a
Linux dannii 2.6.27-14-generic #1 SMP Mon Aug 31 12:58:38 UTC 2009 x86_64 GNU/Linux

I've got a backtrace from gdb, which is also attached.

Thanks for writing gmsh, it's a very useful piece of software!

Cheerio

Patrick

--
Patrick Farrell
PhD student
Imperial College London
-------------- next part --------------
#0  0x00007f206524c015 in raise () from /lib/libc.so.6
#1  0x00007f206524db83 in abort () from /lib/libc.so.6
#2  0x00007f206528d0c8 in __libc_message () from /lib/libc.so.6
#3  0x00007f206529395c in malloc_consolidate () from /lib/libc.so.6
#4  0x00007f2065295721 in _int_malloc () from /lib/libc.so.6
#5  0x00007f2065297658 in malloc () from /lib/libc.so.6
#6  0x00007f206586a89d in operator new () from /usr/lib/libstdc++.so.6
#7  0x000000000065dded in std::vector<std::pair<double, BDS_Edge*>, std::allocator<std::pair<double, BDS_Edge*> > >::_M_insert_aux (this=0x7fff76886f00, 
    __position={_M_current = 0x45e0ff0}, __x=@0x7fff76886f20) at /usr/include/c++/4.3/ext/new_allocator.h:92
#8  0x000000000065c0c5 in splitEdgePass (gf=0x2d7fbf0, m=@0x2e21310, MAXE_=1.3999999999999999, nb_split=@0x7fff7688704c)
    at /usr/include/c++/4.3/bits/stl_vector.h:694
#9  0x000000000065c4b1 in refineMeshBDS (gf=0x2d7fbf0, m=@0x2e21310, NIT=10, computeNodalSizeField=true, recoverMapInv=<value optimized out>)
    at /data2/pfarrell/gmsh/gmsh-2.4.2.dfsg/Mesh/meshGFaceBDS.cpp:728
#10 0x000000000064b827 in meshGenerator (gf=0x2d7fbf0, RECUR_ITER=0, repairSelfIntersecting1dMesh=true, debug=false)
    at /data2/pfarrell/gmsh/gmsh-2.4.2.dfsg/Mesh/meshGFace.cpp:594
#11 0x0000000000651a2c in meshGFace::operator() (this=0x7fff76887b6c, gf=0x2d7fbf0) at /data2/pfarrell/gmsh/gmsh-2.4.2.dfsg/Mesh/meshGFace.cpp:1281
#12 0x0000000000634664 in GenerateMesh (m=0x2d759a0, ask=2) at /usr/include/c++/4.3/bits/stl_algo.h:3791
#13 0x000000000059eae9 in GModel::mesh (this=0x2583, dimension=9603) at /data2/pfarrell/gmsh/gmsh-2.4.2.dfsg/Geo/GModel.cpp:370
#14 0x00000000004ebdc2 in GmshBatch () at /data2/pfarrell/gmsh/gmsh-2.4.2.dfsg/Common/Gmsh.cpp:152
#15 0x00000000004eb24c in main (argc=3, argv=0x7fff76887e78) at /data2/pfarrell/gmsh/gmsh-2.4.2.dfsg/Fltk/Main.cpp:44

-------------- next part --------------
length = 0.001;
Point (1) = {-0.4, 0, 0, length};
Point (2) = {-0.4, 0.1, 0, length};
Point (3) = {1.2, 0, 0, length};
Point (4) = {1.2, 0.1, 0, length};
Line (1) = {1, 2};
Line (2) = {2,4};
Line (3) = {4,3};
Line (4) = {3,1};

Line Loop(5) = {2,3,4,1};
Plane Surface(6) = {5};

// top
Physical Line(6) = {2};
// bottom
Physical Line(7) = {4};
// ends
Physical Line(8) = {3,1};
Physical Surface(9) = {6};