The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > High Level Programming
Google UNIX.COM


High Level Programming Post questions about C, C++, Java, SQL, and other programming languages here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
How to use a core dump file lagigliaivan High Level Programming 2 05-26-2008 06:06 AM
core file fredginting SUN Solaris 1 04-22-2008 08:46 AM
Deleting core file?? alc640 UNIX for Dummies Questions & Answers 1 04-13-2007 06:52 AM
core file sveera SUN Solaris 2 05-23-2005 12:52 PM
core file analysis kristy UNIX for Dummies Questions & Answers 1 10-05-2001 01:38 PM

Reply
 
Submit Tools LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 03-27-2008
Registered User
 

Join Date: Sep 2007
Location: Shanghai
Posts: 12
Stumble this Post!
Unhappy How to use core file?

Hi experts,

A good day to you all.

With debug option, I compiled a big program called OpenFOAM (Written mainly in c++) on IRIX.
after it is finished, I got a SEGV when I executed it.

Quote:
Segmentation fault (core dump)
I noticed that the core file is quite a big block (800M)!
However, I can get very little information from it. I did:

Quote:
gdb
and then

Quote:
core core
here's the outcome

Quote:
This GDB was configured as "mips-sgi-irix6.5".

(gdb) core core
Core was generated by `wmkdep'.
Program terminated with signal 11, Segmentation fault.
warning: wrong size gregset struct in core file
warning: wrong size gregset struct in core file
#0 0x00000000 in ?? ()
(gdb) bt
#0 0x00000000 in ?? ()
what shall I do now?
what does it mean by saying "wrong size gregset struct in core file", is it fatal?
How can I use core file?


Thank you.

Daniel
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 03-28-2008
Registered User
 

Join Date: Mar 2008
Posts: 10
Stumble this Post!
Hi Daniel,


Use executable file also while analyzing the core file.

e.g.
gdb -e OpenFOAM -c core

This should give you better insight as i have noticed with my code.



Regards,
Vinod.



Quote:
Originally Posted by lakeat View Post
Hi experts,

A good day to you all.

With debug option, I compiled a big program called OpenFOAM (Written mainly in c++) on IRIX.
after it is finished, I got a SEGV when I executed it.



I noticed that the core file is quite a big block (800M)!
However, I can get very little information from it. I did:



and then



here's the outcome



what shall I do now?
what does it mean by saying "wrong size gregset struct in core file", is it fatal?
How can I use core file?


Thank you.

Daniel
Reply With Quote
  #3 (permalink)  
Old 03-28-2008
Registered User
 

Join Date: Sep 2007
Location: Shanghai
Posts: 12
Stumble this Post!
Thank you, Vinod,

Okay, here's what I got now.

Quote:
onyx-bridge 12% ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 524288
memory(kbytes) 29096416
coredump(blocks) unlimited
nofiles(descriptors) 2500
vmemory(kbytes) unlimited
concurrency(threads) 1024
onyx-bridge 13% blockMesh
Segmentation fault (core dumped)
onyx-bridge 14% gdb
GNU gdb 6.6
Copyright (C) 2006 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 "mips-sgi-irix6.5".
(gdb) core core
Core was generated by `blockMesh'.
Program terminated with signal 11, Segmentation fault.
warning: wrong size gregset struct in core file
warning: wrong size gregset struct in core file
#0 0x00000000 in ?? ()
(gdb) q
onyx-bridge 15% ls
blockMesh core extrudeMesh
onyx-bridge 16% rm core
onyx-bridge 17% gdb -e blockMesh -c core
GNU gdb 6.6
Copyright (C) 2006 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 "mips-sgi-irix6.5".
/disk4/usr/people/student3/OpenFOAM/OpenFOAM-1.4.1/applications/utilities/mesh/generation/core: No such file or directory.
(gdb) q
onyx-bridge 18% blockMesh
Illegal instruction (core dumped)
onyx-bridge 19% ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 524288
memory(kbytes) 29096416
coredump(blocks) unlimited
nofiles(descriptors) 2500
vmemory(kbytes) unlimited
concurrency(threads) 1024
onyx-bridge 20% gdb -e blockMesh -c core
GNU gdb 6.6
Copyright (C) 2006 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 "mips-sgi-irix6.5".

warning: shared library handler failed to enable breakpoint
Core was generated by `blockMesh'.
Program terminated with signal 4, Illegal instruction.
You can't do that without a process to debug.
(gdb) bt
You can't do that without a process to debug.
(gdb) core core
warning: shared library handler failed to enable breakpoint
Core was generated by `blockMesh'.
Program terminated with signal 4, Illegal instruction.
You can't do that without a process to debug.
(gdb) q
onyx-bridge 21% gdb blockMesh core
GNU gdb 6.6
Copyright (C) 2006 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 "mips-sgi-irix6.5"...
Reading symbols from /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libmeshTools.so...done.
Loaded symbols for /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libmeshTools.so
Reading symbols from /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libtriSurface.so...done.
Loaded symbols for /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libtriSurface.so
Reading symbols from /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/liblagrangian.so...done.
Loaded symbols for /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/liblagrangian.so
Reading symbols from /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libfiniteVolume.so...done.
Loaded symbols for /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libfiniteVolume.so
Reading symbols from /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libPstream.so...done.
Loaded symbols for /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libPstream.so
Reading symbols from /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libdynamicMesh.so...done.
Loaded symbols for /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libdynamicMesh.so
Reading symbols from /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libOpenFOAM.so...done.
Loaded symbols for /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libOpenFOAM.so
Reading symbols from /usr/lib32/libfpe.so...done.
Loaded symbols for /usr/lib32/libfpe.so
Reading symbols from /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libstdc++.so.6...done.
Loaded symbols for /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libstdc++.so.6
Reading symbols from /usr/lib32/libm.so...done.
Loaded symbols for /usr/lib32/libm.so
Reading symbols from /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libgcc_s.so.1...done.
Loaded symbols for /disk4/usr/people/student3/OpenFOAM/sgiN32/gcc-4.2.1/lib32/libgcc_s.so.1
Reading symbols from /usr/lib32/libc.so.1...done.
Loaded symbols for /usr/lib32/libc.so.1
Reading symbols from /usr/lib32/libz.so...done.
Loaded symbols for /usr/lib32/libz.so
You can't do that without a process to debug.
(gdb) bt
You can't do that without a process to debug.

Regards,
Daniel
Reply With Quote
  #4 (permalink)  
Old 03-28-2008
Registered User
 

Join Date: Sep 2007
Location: Shanghai
Posts: 12
Stumble this Post!
Quote:
Originally Posted by lakeat View Post
Thank you, Vinod,

Okay, here's what I got now.




Regards,
Daniel
What makes me frustrated, I couldn't see anything useful.


Daniel
Reply With Quote
  #5 (permalink)  
Old 03-28-2008
Registered User
 

Join Date: Nov 2007
Location: Belgium & France
Posts: 70
Stumble this Post!
Look in your code in
Code:
warning: shared library handler failed to enable breakpoint
Core was generated by `blockMesh'.
Program terminated with signal 4, Illegal instruction.
Reply With Quote
  #6 (permalink)  
Old 03-29-2008
Registered User
 

Join Date: Sep 2007
Location: Shanghai
Posts: 12
Stumble this Post!
Quote:
Originally Posted by V3l0 View Post
Look in your code in
Code:
warning: shared library handler failed to enable breakpoint
Core was generated by `blockMesh'.
Program terminated with signal 4, Illegal instruction.
In fact, there's no problem at all under any linux system, I can use it very well under OpenSUSE, Fedora, or Ubuntu.
No offence V3l0, I mean the answer is not an easy one to have and blockMesh is above reproach.

On sgi-Irix6.5, after a core dump, I was adviced to perform a "strace", but I got the following information:

ERROR: tracer already exists

what shall I do now?

I am justing wandering, dear experts, what is the best way to locate the problem, to diagnose the diseases?

Daniel
Reply With Quote
  #7 (permalink)  
Old 03-30-2008
Registered User
 

Join Date: Oct 2003
Posts: 32
Stumble this Post!
> gdb blockMesh core
and then when gdb did load the libraries and core file:
(gdb) bt

this should give you the backtrace when the programm died.
i'm not sure why it didn't work for you.

Alternatively you can start the program directly in gdb and issue bt after the prog died.

> gdb blockMesh
(gdb) run
Reply With Quote
Google The UNIX and Linux Forums
Reply

Tags
linux, ubuntu

Thread Tools
Display Modes




All times are GMT -7. The time now is 08:34 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0