Sponsored Content
Top Forums Programming "GLIBC detected Error" for a simple C code. Post 302524973 by Ranji Raj on Wednesday 25th of May 2011 08:34:42 AM
Old 05-25-2011
"GLIBC detected Error" for a simple C code.

Here is a simple program to find the vowels in the string.
Output is fine.

But I'm getting GLIBC detected as shown below : Smilie

Code:
*** glibc detected *** ./VOWELS: free(): invalid pointer: 0x08b82013 ***
======= Backtrace: =========
/lib/libc.so.6[0x1a86c5]
/lib/libc.so.6(cfree+0x59)[0x1a8b09]
./VOWELS[0x804859d]
/lib/libc.so.6(__libc_start_main+0xdc)[0x154e9c]
./VOWELS[0x80483b1]
======= Memory map: ========
0011b000-00136000 r-xp 00000000 08:03 2913187    /lib/ld-2.5.so
00136000-00137000 r-xp 0001a000 08:03 2913187    /lib/ld-2.5.so
00137000-00138000 rwxp 0001b000 08:03 2913187    /lib/ld-2.5.so
0013f000-00292000 r-xp 00000000 08:03 2913207    /lib/libc-2.5.so
00292000-00294000 r-xp 00153000 08:03 2913207    /lib/libc-2.5.so
00294000-00295000 rwxp 00155000 08:03 2913207    /lib/libc-2.5.so
00295000-00298000 rwxp 00295000 00:00 0 
0054d000-00558000 r-xp 00000000 08:03 2913221    /lib/libgcc_s-4.1.2-20080825.so.1
00558000-00559000 rwxp 0000a000 08:03 2913221    /lib/libgcc_s-4.1.2-20080825.so.1
00bdf000-00be0000 r-xp 00bdf000 00:00 0          [vdso]
08048000-08049000 r-xp 00000000 08:03 1275582    /home/ranjith/Cs/VOWELS
08049000-0804a000 rw-p 00000000 08:03 1275582    /home/ranjith/Cs/VOWELS
08b82000-08ba3000 rw-p 08b82000 00:00 0          [heap]
b7fbf000-b7fc1000 rw-p b7fbf000 00:00 0 
b7fdc000-b7fde000 rw-p b7fdc000 00:00 0 
bff5d000-bff72000 rw-p bffe9000 00:00 0          [stack]
Aborted


CODE:

Code:
int a,e,i,o,u,non;
int main()
{       char *input=(char*)malloc(160);
        printf("Enter a String of any lenngth...\n");
        scanf("%s",input);
        while(*input != '\0'){
                switch(*input)
                {
                        case 'a': a++;break;
                        case 'e': e++;break;
                        case 'i': i++;break;
                        case 'o': o++;break;
                        case 'u': u++;break;
                        default : non++;break;
                }
                input++;
        }
        printf("Vowels list appeared as below:\n");
        printf("\tA\tE\tI\tO\tU\tNON-VOWLES\n");
        printf("%8d%8d%8d%8d%8d%8d\n",a,e,i,o,u,non);
        free(input);    
}

I'm freeing the char pointer well after its use only. Why Am I getting this error(INVALID POINTER). Please let me know.

Last edited by pludi; 05-25-2011 at 10:01 AM..
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. HP-UX

ERROR: more than one instance of overloaded function "vprintf" has "C" linkage

Hi people! I've got this own library: -------------------------------------------- Personal.h -------------------------------------------- #ifdef __cplusplus extern "C" { #endif #include <stdio.h> #include <stdarg.h> #include <string.h> ... (0 Replies)
Discussion started by: donatoll
0 Replies

3. Shell Programming and Scripting

Very Simple "Tabs to Newline" Code???

hi people; i have a text, iptables.txt and values are as follows inside: (seperators are TAB) 10.15.2.2 2 40 10.15.3.3 1 10 10.32.2.1 3 40 10.33.6.7 2 50 10.16.3.2 1 60 10.11.3.9 1 20 10.19.2.1 1 80 10.16.9.9 3 20 10.29.7.9 2 90 10.33.2.7 3 40 ...... i... (5 Replies)
Discussion started by: gc_sw
5 Replies

4. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

5. UNIX for Dummies Questions & Answers

Unix "look" Command "File too large" Error Message

I am trying to find lines in a text file larger than 3 Gb that start with a given string. My command looks like this: $ look "string" "/home/patrick/filename.txt" However, this gives me the following message: "look: /home/patrick/filename.txt: File too large" So, I have two... (14 Replies)
Discussion started by: shishong
14 Replies

6. Shell Programming and Scripting

Help with delete "_" once detected from the end of a content

Input file: matrix-remodelling_associated_8____ aurora_interacting_1___ L20 von_factor_A_domain_1 ATP_containing_3B_ Desired output: matrix-remodelling_associated_8 aurora_interacting_1 L20 von_factor_A_domain_1 ATP_containing_3B I wanna delete/remove all the "_" that appears at... (2 Replies)
Discussion started by: perl_beginner
2 Replies

7. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

8. 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

9. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies
FILEMON(4)						   BSD Kernel Interfaces Manual 						FILEMON(4)

NAME
filemon -- track interesting system calls SYNOPSIS
#include <filemon.h> DESCRIPTION
filemon provides a means for tracking the successful system calls performed by a process. It is used by make(1) to track the activities of build scripts, for the purpose of automatically learning dependencies. The data captured by filemon for the script n=`wc -l /etc/motd`; echo "int motd_lines = $n;" > foo.h.new cmp -s foo.h foo.h.new 2> /dev/null || mv foo.h.new foo.h looks like: # filemon version 4 # Target pid 24291 V 4 E 29676 /bin/sh R 29676 /etc/ld.so.conf R 29676 /lib/libedit.so.2 R 29676 /lib/libtermcap.so.0 R 29676 /lib/libc.so.12 F 29676 4899 E 4899 /usr/bin/wc R 4899 /etc/ld.so.conf R 4899 /usr/lib/libc.so.12 R 4899 /etc/motd X 4899 0 W 29676 foo.h.new X 29676 0 # Bye bye E 3250 /bin/sh R 3250 /etc/ld.so.conf R 3250 /lib/libedit.so.2 R 3250 /lib/libtermcap.so.0 R 3250 /lib/libc.so.12 W 26673 /dev/null E 26673 /usr/bin/cmp R 26673 /etc/ld.so.conf R 26673 /usr/lib/libc.so.12 X 26673 2 E 576 /bin/mv R 576 /etc/ld.so.conf R 576 /lib/libc.so.12 M 576 'foo.h.new' 'foo.h' X 576 0 X 3250 0 # Bye bye Most records follow the format: type pid data where type is one of the list below, and unless otherwise specified, data is a pathname. C chdir(2). D unlink(2). E exec(3). F fork(2), vfork(2); data is the process id of the child. L link(2), symlink(2); data is two pathnames. M rename(2); data is two pathnames. R open(2) for read or read-write. W open(2) for writing or read-write. X exit(3); data is the exit status. V indicates the version of filemon. FILES
/dev/filemon EXAMPLES
The following example demonstrates the basic usage of filemon: #include <filemon.h> pid_d pid; int fd, tfd; int status; filemon_fd = open("/dev/filemon", O_RDWR); temp_fd = mkstemp("/tmp/filemon.XXXXXXX"); /* give filemon the temp file to use */ ioctl(filemon_fd, FILEMON_SET_FD, &temp_fd); /* children do not need these once they exec */ fcntl(filemon_fd, F_SETFD, 1); fcntl(temp_fd, F_SETFD, 1); pid = fork(); switch(pid) { case -1: err(1, "cannot fork"); break; case 0: pid = getpid(); /* tell filemon to monitor this process */ ioctl(filemon_fd, FILEMON_SET_PID, &pid); execvp(...); _exit(1); break; default: status = wait(); close(filemon_fd); lseek(temp_fd, SEEK_SET, 0); /* read the captured syscalls from temp_fd */ close(temp_fd); break; } The output of filemon is intended to be simple to parse. It is possible to achieve almost equivalent results with dtrace(1) though on many systems this requires elevated privileges. Also, ktrace(1) can capture similar data, but records failed system calls as well as successful, and is thus more complex to post-process. HISTORY
filemon was contributed by Juniper Networks. BSD
September 29, 2011 BSD
All times are GMT -4. The time now is 11:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy