Sponsored Content
Top Forums Programming *** glibc detected *** ./a.out malloc() memory corruption Post 302825091 by dare on Sunday 23rd of June 2013 11:39:07 AM
Old 06-23-2013
Sun *** glibc detected *** ./a.out malloc() memory corruption

I am facing a problem of memory corruption. The loop runs for the first time but does not go through the second time. What could be the problem?


Code:
for(int z=0;z<2;z++)
{
fp=fopen("poly.dat","r");

/*do something which reads this file into a 2D array*/

fclose(fp);

fp=fopen("poly.dat","w");
/*do something which writes into this file*/

fclose(fp);

printf("\n***********************\n");
}


*** glibc detected *** ./a.out: malloc(): memory corruption: 0x09f901b0 *** 
======= Backtrace: ========= 
/lib/tls/i686/cmov/libc.so.6[0xb7747376] 
/lib/tls/i686/cmov/libc.so.6(__libc_malloc+0x95)[0xb7748ac5] 
/lib/tls/i686/cmov/libc.so.6[0xb7734acf] 
/lib/tls/i686/cmov/libc.so.6(fopen+0x2c)[0xb7734b9c] 
./a.out[0x8048807] 
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb76eb775] 
./a.out[0x8048621] 
======= Memory map: ======== 
08048000-0804a000 r-xp 00000000 08:05 6619566    /home/dare/Desktop/a.out 
0804a000-0804b000 r--p 00001000 08:05 6619566    /home/dare/Desktop/a.out 
0804b000-0804c000 rw-p 00002000 08:05 6619566    /home/dare/Desktop/a.out 
09f90000-09fb1000 rw-p 09f90000 00:00 0          [heap] 
b7500000-b7521000 rw-p b7500000 00:00 0  
b7521000-b7600000 ---p b7521000 00:00 0  
b76b6000-b76c3000 r-xp 00000000 08:05 7225409    /lib/libgcc_s.so.1 
b76c3000-b76c4000 r--p 0000c000 08:05 7225409    /lib/libgcc_s.so.1 
b76c4000-b76c5000 rw-p 0000d000 08:05 7225409    /lib/libgcc_s.so.1 
b76d4000-b76d5000 rw-p b76d4000 00:00 0  
b76d5000-b7831000 r-xp 00000000 08:05 7242659    /lib/tls/i686/cmov/libc-2.9.so 
b7831000-b7832000 ---p 0015c000 08:05 7242659    /lib/tls/i686/cmov/libc-2.9.so 
b7832000-b7834000 r--p 0015c000 08:05 7242659    /lib/tls/i686/cmov/libc-2.9.so 
b7834000-b7835000 rw-p 0015e000 08:05 7242659    /lib/tls/i686/cmov/libc-2.9.so 
b7835000-b7838000 rw-p b7835000 00:00 0  
b7842000-b7849000 rw-p b7842000 00:00 0  
b7849000-b784a000 r-xp b7849000 00:00 0          [vdso] 
b784a000-b7866000 r-xp 00000000 08:05 7225754    /lib/ld-2.9.so 
b7866000-b7867000 r--p 0001b000 08:05 7225754    /lib/ld-2.9.so 
b7867000-b7868000 rw-p 0001c000 08:05 7225754    /lib/ld-2.9.so 
bfb3e000-bfb53000 rw-p bffea000 00:00 0          [stack] 
Aborted

Moderator's Comments:
Mod Comment Please use CODE tags when posting code and sample output.

Last edited by Don Cragun; 06-23-2013 at 02:22 PM..
 

10 More Discussions You Might Find Interesting

1. Programming

*** glibc detected *** double free or corruption: 0x40236ff4 ***

when i try to use the class i wrote, i either get this: *** glibc detected *** double free or corruption: 0x40236ff4 *** and the proccess exits with an error code of 0; or it segfaults. could someone look at my header file (with imp.) to give me some insight as to why its not working? ... (19 Replies)
Discussion started by: norsk hedensk
19 Replies

2. Programming

Pointer to a struct (with pointers) *** glibc detected *** double free

I am using a structure defined as follows struct gene_square { double *x; double *y; };I have class, with a member function which is a pointer of this type: gene_square* m_Genes;I am allocating memory in the constructors like this: m_Genes = new gene_square; for (ii=0;... (1 Reply)
Discussion started by: jatoo
1 Replies

3. Programming

Why does this occur? *** glibc detected *** malloc(): memory corruption: 0x10013ff8 ***

there seems not to be error in this segment. In some computers, it can work well. But in others, it will give a failure. why it ocurrs and how to deal with it? in a function: if( *ver == NULL ) { *ver = (vertex *) malloc(sizeof(vertex)); //this line ... (17 Replies)
Discussion started by: cdbug
17 Replies

4. Programming

solved: glibc detection corruption using a fork in popen

Hi, I am having a hell of a time getting this to work. So basically, I have opened a popen to run a program that is going to prompt an action to occur half way through, when it gets to this I need to create a separate process and do some stuff, then return to the original process. This works... (0 Replies)
Discussion started by: imrank27
0 Replies

5. Programming

./match_pattern.out: malloc(): memory corruption: 0x0000000013a11600 ***

Hi All, I have a simple code which does some computation by matching string patterns. In brief: 1. The code reads .dat and .txt files. 2. .dat files are huge text files and .txt files contain some important words. 3. I am just doing strstr to find the patterns. 4. The function returns the... (3 Replies)
Discussion started by: shoaibjameel123
3 Replies

6. Programming

*** glibc detected *** ./a.out: malloc(): memory corruption (fast):

*** glibc detected *** ./a.out: malloc(): memory corruption (fast): Posted A minute ago M trying to make multiway tree and dont know what happend when this part of code get executed: 01void ins(NODE *ptr) 02{ 03 //working 04 if(ptr!=NULL) 05 { 06 SNODE *var=NULL; 07 var=(SNODE... (3 Replies)
Discussion started by: exgenome
3 Replies

7. Programming

glib detected: malloc() memory curruption

I am using libxml2 library for XMl parsing and libxml++ is C++ wrapper over that. So I am using API of libxml++. I am creating my class and composing instance xmlpp::Node *pNode in that. my class also have funciton prepareXPathQuery() which creates query string and have other fucntion... (2 Replies)
Discussion started by: sharadwagh
2 Replies

8. Programming

*** glibc detected *** : malloc(): memory corruption (fast)

Hi Friends, while executing the below code, am getting *** glibc detected *** ./ok: malloc(): memory corruption (fast) error, please suggest how to solve this issue. #include <stdio.h> #include <string.h> #include <sqlca.h> #include <alloca.h> /* Define constants for VARCHAR... (2 Replies)
Discussion started by: mpjobsrch
2 Replies

9. Programming

C++ glibc detected double free or corruption(!prev) using shared library

Currently I test a shared library vendor provided in linux , the following is the simple source : #include <iostream> using namespace std; extern int test1(); extern int test2(); int main() { cout << "hello world" << endl ; return 0 ; cout << "Test 1" << endl; ... (6 Replies)
Discussion started by: barfatchen
6 Replies

10. Homework & Coursework Questions

FORTRAN error *** glibc detected ***

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: I'm doing aproximation of derivative called five-point stencil. For every value of x, in interval , in step... (0 Replies)
Discussion started by: antonija
0 Replies
All times are GMT -4. The time now is 02:46 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy