I get this message when I write myshell.c program "VM pagefault:SIGSEGV bad add 0x0 err 0x4 nopage read myshell PM: ciredump signal 11 for 1725 /myshell memory fault (core dumped)"
Code:
/* RCS information: $Id: myshell.c,v 1.2 2006/04/05 22:46:33 elm Exp $ */
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <errno.h>
#include <string.h>
#include <fcntl.h>
extern char **getline();
/*Run command with and without arguments*/
void runc(const char *n, char *av[]){
pid_t pid;
int status;
pid=fork();
if (pid == 0) {
/* Child */
execvp(n,av);
perror("You print wrong command");
exit(-1);
}
else {
/* Parent */
wait(&status);
}
}
void out(const char *n, char *av[]){
int fd;
fd = open("outf", O_WRONLY|O_CREAT);
if (fd < 0) {
fprintf(stderr, "Couldn't open file for writing.\n");
}
dup2(fd, 1);
/*execvp("ls",args);*/
/*{execvp(n,av);}*/
runc(n,av);
close(fd);
}
int main() {
int i;
char **args;
pid_t pid;
int status;
while(1) {
printf("$ ");
args = getline();
for(i = 0; args[i] != NULL; i++) {
printf("Argument %d: %s\n", i, args[i]);
}
/*Exit command to terminate shell */
if (strcmp(args[0],"exit")==0)
exit();
/*Run command with and without arguments*/
/*{runc(args[0],args);*/
out(args[0],args);
}
return 0;
}
Last edited by pludi; 02-26-2010 at 11:48 AM..
Reason: code tags, please...
First off - writing a shell is essentially pointless unless this is a school assignment. We have a homework forum.
Next, consider that you can use a debugger to find the source line for your problem. Since you already made an effort to show your code, here is a little help --- recompile with -g, run your code, watch it puke, then use the debugger to read the core file.
gcc example:
Code:
gcc -g -o myshell myshell.c
next, after it segfaults:
Code:
gdb myshell core
appworx> gdb myshell core
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.9"...
Core was generated by `./myshell '.
Program terminated with signal 11, Segmentation fault.
#0 0x00000000 in ?? ()
(gdb) ba
#0 0x00000000 in ?? ()
#1 0x000111f8 in dt_arithmetic (fmt=0xffbfedf0 "+%s", d_value=0, sec=0, chg_tim=0) at add_time.c:150
#2 0x00011710 in process (p=0xffbff23e "0", ptr=0, fmtptr=0xffbfedf0 "+%s") at add_time.c:242
#3 0x0001191c in main (argc=4, argv=0xffbff064) at add_time.c:272
(gdb)
the ba (backtrace command) will show the last line of code in your C program before the problem ocurred.
Hi,
I am trying to open small size file only in vi editor on solaris or Linux machine
but it giving message "Terminal too wide" and then I have to come out.
As shown below:-
-rwxr-x--- 1 rkycadm rkycprd 2445 Sep 12 04:06
$ vi file.txt
Terminal too wide
:q!
----------... (2 Replies)
I wrote a perl program that simultaneously reads in data from 691 tar.gz files using zcat. I can run one instance of the program without any issues and the memory and swap sizes are negligible. However, when I attempt to run more than 1 I start to get fork: resource unavailable messages. Are... (6 Replies)
Basically, I want to copy all files (F03*) in this directory and merge/paste them into a new file (called SMER_2.03.12.SPU), yet the error message is "no such file or directory." I listed what is in my working directory, and the files do exist, so I'm not sure what's going on. The code's at the... (8 Replies)
Hello guys,
Thanks for all your precious tips.
I hope you can give me some advice again.
This time I am having an issue with a SUN FIRE V240 (SOLARIS 10).
The server doesn't boot, normally , first we had a file system error
====================+FIRST ERROR... (6 Replies)
Hi,
I was compiling few C programs in the unix server and getting the following error message
rm: /home/a0xxx28/AVT/SEEDLIBRARYDB/LIB/*.a non-existent
proc MODE=ANSI CODE=ANSI_C INCLUDE=/home/a0xxx28/PVT/SEEDLIBRARYDB/INCLUDE
INCLUDE=/home/a0xxx28/PVT/SEEDLIBRARY/INCLUDE ... (1 Reply)
I am using the "find" command below and it respond with the error message " find: cannot open /: Stale NFS file handle"
what does it mean?
what can I do about it?
Need advice, thanks.
below are the command that I enter, the respond and the error message:
root@ScripServer:/# find / -name... (1 Reply)
Hi all,
i have a log file that captures success or failure messges when i run a daily job.
here is a sample of my log.
20060312 start
successful
successful
failure
failure
20060312 end
i need to write a subroutine that opens up the log daily after my job completes to examine the log... (2 Replies)
hi all...
ive been trying this program where i spawn 4 threads... and i am trying to use message queue to send msgs from 3 of the threads to the parent thread... but it doent seem to be working... ive almost pulled out my hair tryin to fix the prob :confused:
another wierd thing... (1 Reply)
I am trying to build a tuxedo server which in turn depends on several Pro*C programs. I am doing it on HP-UX system.
It looks to me that the ORACLE_HOME is set properly.
But I am getting error message when trying to build.
PCC-F-NOERRFILE, unable to open error message file, facility PR2
exit... (1 Reply)