Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Nef_Polyhedron & list iterators incompatible

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Nef_Polyhedron & list iterators incompatible


Chronological Thread 
  • From: "Anatoli Barski" <>
  • To:
  • Subject: Re: [cgal-discuss] Nef_Polyhedron & list iterators incompatible
  • Date: Mon, 14 Apr 2008 15:16:46 +0200

Hallo Peter,

I've done a little debugging and looked for the solutions on the web, so I
can give you some more relevant information now:

When NOT compiling CGAL there is an issue, which points me to a problem
according to VS2003 compiled library linked in VS2005

So I compiled cgal.lib using the standard project settings, which compiles
CGAL with /MD setting in Debug configuration (this suprises me, because I'm
then normally not allowed to compile my application using /MDd, but I'm a
newbie in Linker problems)

The reported problem came, when I compiled
examples\Nef_3\Debug\transformation.vcproj using /MDd option
I think I see the problem below: msvcp80d.dll and msvcp80.dll both get
loaded. And the list iterators incompatible problem used to be, when
different libraries get mixed (very unsure)

"transformation.exe":
"C:\projects\libs\CGAL\examples\Nef_3\Debug\transformation.exe" geladen,
Symbole wurden geladen.
"transformation.exe": "C:\Windows\System32\ntdll.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\kernel32.dll" geladen, Keine
Symbole geladen.
"transformation.exe":
"C:\Windows\winsxs\x86_microsoft.vc80.debugcrt_1fc8b3b9a1e18e3b_8.0.50727.762_none_24c8a196583ff03b\msvcp80d.dll"
geladen, Symbole wurden geladen.
"transformation.exe":
"C:\Windows\winsxs\x86_microsoft.vc80.debugcrt_1fc8b3b9a1e18e3b_8.0.50727.762_none_24c8a196583ff03b\msvcr80d.dll"
geladen, Symbole wurden geladen.
"transformation.exe": "C:\Windows\System32\msvcrt.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\user32.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\gdi32.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\advapi32.dll" geladen, Keine
Symbole geladen.
"transformation.exe": "C:\Windows\System32\rpcrt4.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\imm32.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\msctf.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\lpk.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\usp10.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\uxtheme.dll" geladen, Keine
Symbole geladen.
"transformation.exe": "C:\Program Files\Unlocker\UnlockerHook.dll" geladen,
Die Binärdaten wurden nicht mit Debuginformationen erstellt.
"transformation.exe": "C:\Windows\System32\shlwapi.dll" geladen, Keine
Symbole geladen.
"transformation.exe": "C:\Windows\System32\shell32.dll" geladen, Keine
Symbole geladen.
"transformation.exe":
"C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6000.16386_none_5d07289e07e1d100\comctl32.dll"
geladen, Keine Symbole geladen.
"transformation.exe": "C:\Program Files\Logitech\SetPoint\gamehook.dll"
geladen, Keine Symbole geladen.
"transformation.exe": "C:\Program Files\Logitech\SetPoint\lgscroll.dll"
geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
"transformation.exe":
"C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.762_none_10b2f55f9bffb8f8\msvcr80.dll"
geladen, Symbole wurden geladen.
"transformation.exe":
"C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.762_none_10b2f55f9bffb8f8\msvcp80.dll"
geladen, Symbole wurden geladen.
"transformation.exe": "C:\Windows\System32\ntmarta.dll" geladen, Keine
Symbole geladen.
"transformation.exe": "C:\Windows\System32\Wldap32.dll" geladen, Keine
Symbole geladen.
"transformation.exe": "C:\Windows\System32\ws2_32.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\nsi.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\psapi.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\samlib.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\ole32.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\clbcatq.dll" geladen, Keine
Symbole geladen.
"transformation.exe": "C:\Windows\System32\oleaut32.dll" geladen, Keine
Symbole geladen.
"transformation.exe": "C:\Program Files\Babylon\Babylon-Pro\captlib.dll"
geladen, Keine Symbole geladen.
"transformation.exe": "C:\Windows\System32\oleacc.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\wininet.dll" geladen, Keine
Symbole geladen.
"transformation.exe": "C:\Windows\System32\normaliz.dll" geladen, Keine
Symbole geladen.
"transformation.exe": "C:\Windows\System32\iertutil.dll" geladen, Keine
Symbole geladen.



Then I tried to build transformation.exe using /MD option. But then there is
another problem:

Microsoft Visual Studio C Runtime Library comes up with an runtime error
inside dbghook.c:

here is the code-snippet where it comes to a halt: it stops at "
_debugger_hook_dummy = 0;" line


int _debugger_hook_dummy;

#ifdef _M_IA64
#undef _CRT_DEBUGGER_HOOK
#define _CRT_DEBUGGER_HOOK __crt_debugger_hook
#endif /* _M_IA64 */

__declspec(noinline)
void __cdecl _CRT_DEBUGGER_HOOK(int _Reserved)
{
/* assign 0 to _debugger_hook_dummy so that the function is not folded in
retail */
(_Reserved);
_debugger_hook_dummy = 0;
}

No I've even discovered, that, when compiling with /MDd option and ignoring
the runtime error, I end up in the same error like compiling with /MD, so the
callstack is the same.

I'll add the callstack screenshot for better readability.

Here is the Call-Stack:

> msvcr80.dll!_crt_debugger_hook(int _Reserved=6014127) line 65 C
msvcr80.dll!_invalid_parameter(const wchar_t * pszExpression=0x00000000,
const wchar_t * pszFunction=0x00000000, const wchar_t * pszFile=0x00000000,
unsigned int nLine=0, unsigned int pReserved=0) line 86 + 0x7 Bytes C++
msvcr80.dll!_invalid_parameter_noinfo() line 99 + 0xc Bytes C++

transformation.exe!std::list<CGAL::Object_handle,std::allocator<CGAL::Object_handle>
>::_Const_iterator<1>::operator==(const
std::list<CGAL::Object_handle,std::allocator<CGAL::Object_handle>
>::_Const_iterator<1> & _Right={...}) line 290 C++

transformation.exe!std::list<CGAL::Object_handle,std::allocator<CGAL::Object_handle>
>::_Const_iterator<1>::operator!=(const
std::list<CGAL::Object_handle,std::allocator<CGAL::Object_handle>
>::_Const_iterator<1> & _Right={...}) line 295 + 0xc Bytes C++

transformation.exe!CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>::is_sm_boundary_object<CGAL::CGALi::In_place_list_iterator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
>
>,std::allocator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
> > > >
>(CGAL::CGALi::In_place_list_iterator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
>
>,std::allocator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
> > > > h={...}) line 750 C++

transformation.exe!CGAL::SNC_sphere_map<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>::is_sm_boundary_object<CGAL::CGALi::In_place_list_iterator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
>
>,std::allocator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
> > > >
>(CGAL::CGALi::In_place_list_iterator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
>
>,std::allocator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
> > > > h={...}) line 166 C++

transformation.exe!CGAL::SM_decorator<CGAL::SNC_sphere_map<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>

>::store_sm_boundary_object<CGAL::CGALi::In_place_list_iterator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
>
>,std::allocator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
> > > >
>(CGAL::CGALi::In_place_list_iterator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
>
>,std::allocator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
> > > > h={...},
CGAL::CGALi::In_place_list_iterator<CGAL::SNC_in_place_list_sface<CGAL::SNC_items::SFace<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
>
>,std::allocator<CGAL::SNC_in_place_list_sface<CGAL::SNC_items::SFace<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
> > > > f={...}) line 311 + 0x13 Bytes C++

transformation.exe!CGAL::SM_decorator<CGAL::SNC_sphere_map<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>

>::link_as_face_cycle(CGAL::CGALi::In_place_list_iterator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
>
>,std::allocator<CGAL::SNC_in_place_list_shalfedge<CGAL::SNC_items::SHalfedge<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
> > > > e={...},
CGAL::CGALi::In_place_list_iterator<CGAL::SNC_in_place_list_sface<CGAL::SNC_items::SFace<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
>
>,std::allocator<CGAL::SNC_in_place_list_sface<CGAL::SNC_items::SFace<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
> > > > f={...}) line 331 C++

transformation.exe!CGAL::SNC_constructor<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
>::create_SM_on_infibox(const
CGAL::Point_3<CGAL::Homogeneous<CGAL::Nef_polynomial<CGAL::Gmpz>,CGAL::Quotient<CGAL::Nef_polynomial<CGAL::Gmpz>
> > > & center={...},
CGAL::Sphere_point<CGAL::Extended_homogeneous<CGAL::Gmpz> > * SP=0x0012f930,
int size=4, const bool & boundary=true, const bool & fmark0=false, const bool
& fmark1=true) line 2436 C++

transformation.exe!CGAL::SNC_constructor<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>

>::create_frame_point(CGAL::Point_3<CGAL::Homogeneous<CGAL::Nef_polynomial<CGAL::Gmpz>,CGAL::Quotient<CGAL::Nef_polynomial<CGAL::Gmpz>
> > > p={...},
CGAL::Point_3<CGAL::Homogeneous<CGAL::Nef_polynomial<CGAL::Gmpz>,CGAL::Quotient<CGAL::Nef_polynomial<CGAL::Gmpz>
> > > sp1={...},
CGAL::Point_3<CGAL::Homogeneous<CGAL::Nef_polynomial<CGAL::Gmpz>,CGAL::Quotient<CGAL::Nef_polynomial<CGAL::Gmpz>
> > > sp2={...},
CGAL::Plane_3<CGAL::Homogeneous<CGAL::Nef_polynomial<CGAL::Gmpz>,CGAL::Quotient<CGAL::Nef_polynomial<CGAL::Gmpz>
> > > h={...}, const bool & boundary=true, const bool & inside=true, const
bool & outside=false) line 2233 + 0x25 Bytes C++

transformation.exe!CGAL::SNC_constructor<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
>::create_vertices_on_infibox(const
CGAL::Plane_3<CGAL::Homogeneous<CGAL::Nef_polynomial<CGAL::Gmpz>,CGAL::Quotient<CGAL::Nef_polynomial<CGAL::Gmpz>
> > > & h={...},
std::list<CGAL::Point_3<CGAL::Homogeneous<CGAL::Nef_polynomial<CGAL::Gmpz>,CGAL::Quotient<CGAL::Nef_polynomial<CGAL::Gmpz>
> >
>,std::allocator<CGAL::Point_3<CGAL::Homogeneous<CGAL::Nef_polynomial<CGAL::Gmpz>,CGAL::Quotient<CGAL::Nef_polynomial<CGAL::Gmpz>
> > > > > points=[4]({...},{...},{...},{...}), const bool & bnd=true, const
bool & inside=true, const bool & outside=false) line 2139 + 0xb7 Bytes C++

transformation.exe!CGAL::SNC_constructor<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
>::create_vertices_of_box_with_plane(const
CGAL::Plane_3<CGAL::Homogeneous<CGAL::Nef_polynomial<CGAL::Gmpz>,CGAL::Quotient<CGAL::Nef_polynomial<CGAL::Gmpz>
> > > & h={...}, bool b=true) line 2148 + 0x3e Bytes C++

transformation.exe!CGAL::Infimaximal_box<CGAL::Tag_true,CGAL::Extended_homogeneous<CGAL::Gmpz>

>::create_vertices_of_box_with_plane<CGAL::SNC_constructor<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
>
>(CGAL::SNC_constructor<CGAL::SNC_structure<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>
> & C={...}, const
CGAL::Plane_3<CGAL::Homogeneous<CGAL::Nef_polynomial<CGAL::Gmpz>,CGAL::Quotient<CGAL::Nef_polynomial<CGAL::Gmpz>
> > > & h={...}, bool b=true) line 383 C++

transformation.exe!CGAL::Nef_polyhedron_3<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>::Nef_polyhedron_3<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>(const

CGAL::Plane_3<CGAL::Homogeneous<CGAL::Nef_polynomial<CGAL::Gmpz>,CGAL::Quotient<CGAL::Nef_polynomial<CGAL::Gmpz>
> > > & h={...},
CGAL::Nef_polyhedron_3<CGAL::Extended_homogeneous<CGAL::Gmpz>,CGAL::SNC_items,bool>::Boundary
b=INCLUDED) line 1486 + 0x15 Bytes C++
transformation.exe!main() line 16 + 0x7a Bytes C++
transformation.exe!__tmainCRTStartup() line 597 + 0x17 Bytes C
kernel32.dll!77013833()
[Unten angegebene Rahmen sind möglicherweise nicht korrekt und/oder
fehlen, keine Symbole geladen für kernel32.dll]
ntdll.dll!7745a9bd()


And Debugger-Output:

"transformation.exe":
"C:\projects\libs\CGAL\examples\Nef_3\Debug\transformation.exe" geladen,
Symbole wurden geladen.
"transformation.exe": "C:\Windows\System32\ntdll.dll" geladen, Keine Symbole
geladen.
"transformation.exe": "C:\Windows\System32\kernel32.dll" geladen, Keine
Symbole geladen.
"transformation.exe":
"C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.762_none_10b2f55f9bffb8f8\msvcp80.dll"
geladen, Symbole wurden geladen.
"transformation.exe":
"C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.762_none_10b2f55f9bffb8f8\msvcr80.dll"
geladen, Symbole wurden geladen.
"transformation.exe": "C:\Windows\System32\msvcrt.dll" geladen, Keine Symbole
geladen.
Microsoft Visual Studio C Runtime Library hat einen schwerwiegenden Fehler in
transformation.exe gefunden.

Klicken Sie auf "Unterbrechen", um das Programm zu debuggen, oder auf
"Weiter", um es zu beenden.


Thank You for looking!

-------- Original-Nachricht --------
> Datum: Mon, 14 Apr 2008 12:58:04 +0200
> Von: Peter Hachenberger
> <>
> An:
>
> Betreff: Re: [cgal-discuss] Nef_Polyhedron & list iterators incompatible

> Hi,
>
> since I don't work under Windows, I need a call stack such that I know
> where to look for problems.
>
> Peter
>
> On Sat, 2008-04-12 at 11:53 +0200,
>
> wrote:
> > Hallo!
> >
> > I'm getting debug assertion message telling me: list iterators
> incompatible, when trying to run the CGAL example
> "examples/Nef_3/transformation.C"
> I'm on a Vista machine, using Visual Studio 8
> >
> > It doesn't let me create a Nef_Polyhedron_3 from Polyhedron_3
> >
> > Could my boost installation produce that error? Another suggestions?
>
> --
> You are currently subscribed to cgal-discuss.
> To unsubscribe or access the archives, go to
> https://lists-sop.inria.fr/wws/info/cgal-discuss

--
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger

Attachment: callstack.png
Description: PNG image




Archive powered by MHonArc 2.6.16.

Top of Page