02-20-2012
*** 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 *)malloc(sizeof(SNODE));
08 var->next=start;
09 start=var;
10 var->info=ptr;
11 }//end if
12}//end ins()
error :
*** glibc detected *** ./a.out: malloc(): memory corruption (fast): 0x08bde038 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x6ebc2)[0xb76a7bc2]
/lib/i386-linux-gnu/libc.so.6(+0x70cf3)[0xb76a9cf3]
/lib/i386-linux-gnu/libc.so.6(__libc_calloc+0xae)[0xb76ac4ce]
./a.out[0x80485f9]
./a.out[0x8048985]
./a.out[0x8048ce4]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb7652113]
./a.out[0x80484c1]
======= Memory map: ========
08048000-0804a000 r-xp 00000000 08:01 117539 /home/utkarsh/Desktop/c-code/Data_structures/trees/a.out
0804a000-0804b000 r--p 00001000 08:01 117539 /home/utkarsh/Desktop/c-code/Data_structures/trees/a.out
0804b000-0804c000 rw-p 00002000 08:01 117539 /home/utkarsh/Desktop/c-code/Data_structures/trees/a.out
08bde000-08bff000 rw-p 00000000 00:00 0 [heap]
b7500000-b7521000 rw-p 00000000 00:00 0
b7521000-b7600000 ---p 00000000 00:00 0
b7605000-b7621000 r-xp 00000000 08:01 94286 /lib/i386-linux-gnu/libgcc_s.so.1
b7621000-b7622000 r--p 0001b000 08:01 94286 /lib/i386-linux-gnu/libgcc_s.so.1
b7622000-b7623000 rw-p 0001c000 08:01 94286 /lib/i386-linux-gnu/libgcc_s.so.1
b7638000-b7639000 rw-p 00000000 00:00 0
b7639000-b77af000 r-xp 00000000 08:01 94290 /lib/i386-linux-gnu/libc-2.13.so
b77af000-b77b1000 r--p 00176000 08:01 94290 /lib/i386-linux-gnu/libc-2.13.so
b77b1000-b77b2000 rw-p 00178000 08:01 94290 /lib/i386-linux-gnu/libc-2.13.so
b77b2000-b77b5000 rw-p 00000000 00:00 0
b77c8000-b77cc000 rw-p 00000000 00:00 0
b77cc000-b77cd000 r-xp 00000000 00:00 0 [vdso]
b77cd000-b77eb000 r-xp 00000000 08:01 94287 /lib/i386-linux-gnu/ld-2.13.so
b77eb000-b77ec000 r--p 0001d000 08:01 94287 /lib/i386-linux-gnu/ld-2.13.so
b77ec000-b77ed000 rw-p 0001e000 08:01 94287 /lib/i386-linux-gnu/ld-2.13.so
bfd86000-bfda7000 rw-p 00000000 00:00 0 [stack]
Aborted
pls guys tell me exactly what happend and what does the error massage means and also a solution pls.
thanks!!
Last edited by exgenome; 02-20-2012 at 01:02 PM..
10 More Discussions You Might Find Interesting
1. Programming
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
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
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
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
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
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
7. Programming
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
8. Programming
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?
for(int z=0;z<2;z++)
{
fp=fopen("poly.dat","r");
/*do something which reads this file into a 2D array*/
fclose(fp);
... (10 Replies)
Discussion started by: dare
10 Replies
9. Programming
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
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
LEARN ABOUT DEBIAN
pmload
PMLOAD(1p) User Contributed Perl Documentation PMLOAD(1p)
NAME
pmload - show what files a given module loads at compile time
DESCRIPTION
Given an argument of a module name, show all the files that are loaded directly or indirectly when the module is used at compile-time.
EXAMPLES
$ pmload IO::Handle
/usr/local/devperl/lib/5.00554/Exporter.pm
/usr/local/devperl/lib/5.00554/Carp.pm
/usr/local/devperl/lib/5.00554/strict.pm
/usr/local/devperl/lib/5.00554/vars.pm
/usr/local/devperl/lib/5.00554/i686-linux/DynaLoader.pm
/usr/local/devperl/lib/5.00554/i686-linux/IO/Handle.pm
/usr/local/devperl/lib/5.00554/Symbol.pm
/usr/local/devperl/lib/5.00554/i686-linux/IO/File.pm
/usr/local/devperl/lib/5.00554/SelectSaver.pm
/usr/local/devperl/lib/5.00554/i686-linux/Fcntl.pm
/usr/local/devperl/lib/5.00554/AutoLoader.pm
/usr/local/devperl/lib/5.00554/i686-linux/IO.pm
/usr/local/devperl/lib/5.00554/i686-linux/IO/Seekable.pm
$ cat `pmload IO::Socket` | wc -l
4015
$ oldperl -S pmload Tk
/usr/lib/perl5/site_perl/Tk/Pretty.pm
/usr/lib/perl5/Symbol.pm
/usr/lib/perl5/site_perl/Tk/Frame.pm
/usr/lib/perl5/site_perl/Tk/Toplevel.pm
/usr/lib/perl5/strict.pm
/usr/lib/perl5/Exporter.pm
/usr/lib/perl5/vars.pm
/usr/lib/perl5/site_perl/auto/Tk/Wm/autosplit.ix
/usr/lib/perl5/site_perl/auto/Tk/Widget/autosplit.ix
/usr/lib/perl5/site_perl/Tk.pm
/usr/lib/perl5/i386-linux/5.00404/DynaLoader.pm
/usr/lib/perl5/site_perl/auto/Tk/Frame/autosplit.ix
/usr/lib/perl5/site_perl/auto/Tk/Toplevel/autosplit.ix
/usr/lib/perl5/Carp.pm
/usr/lib/perl5/site_perl/auto/Tk/autosplit.ix
/usr/lib/perl5/site_perl/Tk/CmdLine.pm
/usr/lib/perl5/site_perl/Tk/MainWindow.pm
/usr/lib/perl5/site_perl/Tk/Submethods.pm
/usr/lib/perl5/site_perl/Tk/Configure.pm
/usr/lib/perl5/AutoLoader.pm
/usr/lib/perl5/site_perl/Tk/Derived.pm
/usr/lib/perl5/site_perl/Tk/Image.pm
/usr/lib/perl5/site_perl/Tk/Wm.pm
/usr/lib/perl5/site_perl/Tk/Widget.pm
NOTE
If the programmers used a delayed "require", those files won't show up. Furthermore, this doesn't show all possible files that get opened,
just those that those up in %INC. Most systems have a way to trace system calls. You can use this to find the real answer. First, get a
baseline with no modules loaded.
$ strace perl -e 1 2>&1 | perl -nle '/^open("(.*?)".* = [^-]/ && print $1'
/etc/ld.so.cache
/lib/libnsl.so.1
/lib/libdb.so.2
/lib/libdl.so.2
/lib/libm.so.6
/lib/libc.so.6
/lib/libcrypt.so.1
/dev/null
$ strace perl -e 1 2>&1 | grep -c '^open.*= [^-]'
8
Now add module loads and see what you get:
$ strace perl -MIO::Socket -e 1 2>&1 | grep -c '^open.*= [^-]'
24
$ strace perl -MTk -e 1 2>&1 | grep -c '^open.*= [^-]'
35
SEE ALSO
Devel::Loaded, plxload(1).
AUTHORS and COPYRIGHTS
Copyright (C) 1999 Tom Christiansen.
Copyright (C) 2006-2008 Mark Leighton Fisher.
This is free software; you can redistribute it and/or modify it under the terms of either: (a) the GNU General Public License as published
by the Free Software Foundation; either version 1, or (at your option) any later version, or (b) the Perl "Artistic License". (This is the
Perl 5 licensing scheme.)
Please note this is a change from the original pmtools-1.00 (still available on CPAN), as pmtools-1.00 were licensed only under the Perl
"Artistic License".
perl v5.10.1 2010-02-22 PMLOAD(1p)