
Hello Keith.
On 07/29/14 05:27, Keith Clifford wrote:
I set the environment variables as you requested and didn't get any output. I commented out ppl_set_GMP_memory_allocation_functions and got the following output:
$ ./memory2 test1() test2() **************** k = 4294967295 **************** *************** dry run *************** **************** k = 0 **************** test3() **************** k = 4294967295 **************** *************** dry run *************** **************** k = 0 ****************
With ppl_set_GMP_memory_allocation_functions back in and some debugging added I didn't see any of the debugging before the segfault:
$ ./memory2 Segmentation fault
Modified ppl_set_GMP_memory_allocation_functions:
extern "C" void ppl_set_GMP_memory_allocation_functions() { before_main = true;
nout << "ppl_set_GMP_memory_allocation_functions!" << endl; // Allow the static coefficients of the library to be allocated // without any limit. reset_allocators(ULONG_MAX, ULONG_MAX); mp_set_memory_functions(cxx_malloc, cxx_realloc, cxx_free);
}
I rebuilt with --enable-debugging and ran under strace with the following results:
$ strace memory2
This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. terminate called after throwing an instance of 'std::bad_cast' what(): std::bad_cast --- Process 7044, exception 4000001f at 000000007704103B
Does any of this help?
Yes. Can you please have a session with gdb in order to understand where the std::bad_cast exception is thrown? You can do this by setting a breakpoint at __cxa_throw. Thanks,
Roberto
-----Original Message----- From: Roberto Bagnara [mailto:bagnara@cs.unipr.it] Sent: July 26, 2014 1:00 AM To: kclifford@tranaptic.ca Cc: The Parma Polyhedra Library developers' list Subject: Re: [PPL-devel] Failure building ppl under Cygwin 64 with a mingw target.
Hello Keith, thanks for the report.
On 07/25/14 20:18, Keith Clifford wrote:
I'm building a set of cross compilers to run under mingw and I got the
error below.
The set of packages and their versions to do the build are:
Build machine:
CYGWIN_NT-6.1 1.7.31(0.272/5/3) 2014-07-21 18:40 x86_64 Cygwin
Components:
gmp-6.0.0a mpfr-3.1.2 mpc-1.0.2 isl-0.12.2 cloog-0.18.1 ppl-1.1 binutils-2.24 gcc-4.9.1 newlib-2.1.0 gdb-7.7
I've attached the script, mkx, that I use for building the cross compilers, the test-suit log, and the make and check logs. The individual test logs are empty. I'm set up to run so if you'd like me to try anything, let me know and I can give it a go. When the build failed it said let you know and I'm going to continue investigating. I'll let you know if I find anything.
As far as I can tell, building the PPL succeeded and only one test failed (memory2 in tests/Polyhedron). Can you please rerun just that test after defining the environment variables PPL_NOISY_TESTS and PPL_VERY_NOISY_TESTS to whatever you like? Then please send the resulting output to ppl-devel@cs.unipr.it King regards,
Roberto