- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I've created a program with Intel Fortran Compiler 11.1 using openSUSE 11.2 and get such a mistake:
malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
Abgebrochen
I'm using this command line to compile the program:
ifort *.f90 -g -traceback -o bem_kontakt
Normally I get the line inside the program where I could find the mistake.
I've tested the program. The main program is callig a subroutine twice. The first call works well, but the error occurs during the second call of the program.
How can I find such a mistake.
Thanks in advance
janos
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi janos,
You can try running in a debugger with breakpoints set for symbols like 'abort' and 'exit'. You may have to
experiment to get the right symbol. When you program hits the breakpoint, you should be able to get a
stack trace to see where the call to malloc came from in your program.
Regards,
Steve D.
Intel Developer Support
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Another comment: OpenSUSE 11.2 is too new to be supported. We do not test on this OS, so it is possible that the traceback, which relies on the system's gcc and libc, may not work correctly. Is it possible to try this program on an older OpenSUSE?
ron

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page