Re: bt -f (ia64)
                                
                                
                                
                                    
                                        by Dave Anderson
                                    
                                
                                
                                        
----- "Cliff Wickman" <cpw(a)sgi.com> wrote:
> Hi Dave,
> 
> In using crash yesterday on an ia64 dump I found that "bt -f" did
> not show contents of the stack. Neither memory stack nor stacked registers.
> (It does show the "bsp" pointer to backing storage, which helps)
> 
> It must have displayed the stacks' contents in the past, as the help for
> bt says:
>        -f  display all stack data contained in a frame; this option can be
>            used to determine the arguments passed to each function; on ia64,
>            the argument register contents are dumped.
> 
> I don't find any discussion on this subject.
> Can you tell me anything about the status of it?
> 
> Thanks.
> -Cliff
As the help page states, the ia64 "bt -f" option dumps the arguments
to each function.  On the other architectures, it dumps the data in
each stack frame as an aid in finding the function arguments.
 
If you want to look at raw ia64 stack contents, use "bt -r".
Dave
                                
                         
                        
                                
                                16 years, 9 months
                        
                        
                 
         
 
        
            
        
        
        
                
                        
                        
                                
                                
                                        
                                                
                                        
                                        
                                        bt -f (ia64)
                                
                                
                                
                                    
                                        by Cliff Wickman
                                    
                                
                                
                                        
Hi Dave,
In using crash yesterday on an ia64 dump I found that "bt -f" did
not show contents of the stack. Neither memory stack nor
stacked registers.
(It does show the "bsp" pointer to backing storage, which helps)
It must have displayed the stacks' contents in the past, as the help for
bt says:
       -f  display all stack data contained in a frame; this option can be
           used to determine the arguments passed to each function; on ia64,
           the argument register contents are dumped.
I don't find any discussion on this subject.
Can you tell me anything about the status of it?
Thanks.
-Cliff
                                
                         
                        
                                
                                16 years, 9 months
                        
                        
                 
         
 
        
            
        
        
        
                
                        
                        
                                
                                
                                        
                                                
                                        
                                        
                                        Re: [PATCH] crash: execution machine pagesize differs
                                
                                
                                
                                    
                                        by Cliff Wickman
                                    
                                
                                
                                        
Never mind!
As Hedi Berriche pointed out, Bernhard Walle fixed this 2 weeks ago.
> This patch allows a machine to read a dump when that dump was taken on
> a machine with a larger page size.
>  e.g. we had a dump of a 64k pagesize system, and ran crash on a
>       machine with a 16k pagesize.
> 
> Diffed against crash-4.0-7.6
> 
                                
                         
                        
                                
                                16 years, 9 months
                        
                        
                 
         
 
        
            
        
        
        
                
                        
                                
                                 
                                        
                                
                         
                        
                                
                                
                                        
                                                
                                        
                                        
                                        [PATCH] crash: execution machine pagesize differs
                                
                                
                                
                                    
                                        by Cliff Wickman
                                    
                                
                                
                                        
This patch allows a machine to read a dump when that dump was taken on
a machine with a larger page size.
 e.g. we had a dump of a 64k pagesize system, and ran crash on a
      machine with a 16k pagesize.
Diffed against crash-4.0-7.6
Signed-off-by: Cliff Wickman <cpw(a)sgi.com>
---
 diskdump.c |   25 +++++++++++++++++++------
 tools.c    |    2 ++
 2 files changed, 21 insertions(+), 6 deletions(-)
Index: crash-4.0-7.6.ia64/diskdump.c
===================================================================
--- crash-4.0-7.6.ia64.orig/diskdump.c
+++ crash-4.0-7.6.ia64/diskdump.c
@@ -107,7 +107,7 @@ static int read_dump_header(char *file)
 	struct disk_dump_sub_header *sub_header = NULL;
 	struct kdump_sub_header *sub_header_kdump = NULL;
 	int bitmap_len;
-	const int block_size = (int)sysconf(_SC_PAGESIZE);
+	int block_size = (int)sysconf(_SC_PAGESIZE);
 	off_t offset;
 	const off_t failed = (off_t)-1;
 	ulong pfn;
@@ -165,12 +165,25 @@ static int read_dump_header(char *file)
 	    machine_type_mismatch(file, "PPC64", NULL, 0))
 		goto err;
 
-	if (header->block_size != block_size) {
-		error(INFO, "%s: block size in the dump header does not match"
-	            " with system page size\n",
-			DISKDUMP_VALID() ? "diskdump" : "compressed kdump");
-		goto err;
+	/*
+	 * Up to here, the header was assumed to be one page in size.
+	 * We checked utsname and signature, which are up front in the
+	 * header. But all of the task array may not have been entirely
+	 * read if the executing machines's page size is smaller than that
+	 * of the dumped machine.
+	 * Re-read the entire header if its block_size is bigger than the
+	 * executing machine's page size.
+	 */
+	if (header->block_size > block_size) {
+		block_size = header->block_size;
+		free(header);
+		if ((header = malloc(block_size)) == NULL)
+			error(FATAL,
+	     "diskdump / compressed kdump: cannot malloc block_size buffer\n");
+		lseek(dd->dfd, 0, SEEK_SET);
+		read(dd->dfd, header, block_size);
 	}
+
 	dd->block_size  = block_size;
 	dd->block_shift = ffs(block_size) - 1;
 
                                
                         
                        
                                
                                16 years, 9 months
                        
                        
                 
         
 
        
            
        
        
        
                
                        
                                
                                 
                                        
                                
                         
                        
                                
                                
                                        
                                                
                                        
                                        
                                        Fwd: [PATCH] crash: load of module types LKCD_KERNTYPES
                                
                                
                                
                                    
                                        by Dave Anderson
                                    
                                
                                
                                        
----- Forwarded Message -----
From: "Cliff Wickman" <cpw(a)sgi.com>
To: "Dave Anderson" <anderson(a)redhat.com>
Sent: Thursday, January 29, 2009 4:23:22 PM GMT -05:00 US/Canada Eastern
Subject: Re: [PATCH] crash: load of module types LKCD_KERNTYPES
Hi Dave,
On Thu, Jan 29, 2009 at 03:43:03PM -0500, Dave Anderson wrote:
> 
> ----- "Cliff Wickman" <cpw(a)sgi.com> wrote:
> 
> > This patch allows additional kerntypes files to be loaded as module
> > debuginfo (namelist) files.
> > 
> > It's a bit of a kludge, as sym -s module <file> still requires
> > that these types be associated with a loaded module. (but its use
> > would only be desirable when there are loaded modules, so that
> > restriction should not be a problem)
> 
> The patch looks fine (segregated), and I've queued it for the next release.
> 
> But I'm not entirely clear what you mean by the comment above?  You've
> got this kerntypes object file that was created from a kernel module, and
> you can load its debuginfo data individually with "mod -s module kerntypes".
> What's the kludge again?
Ok, not a kludge if the kerntypes was built from the module that you
name in the  mod -s  command.
But I would lump together the types from hundreds of modules into a
single compact file that I can load if needed.  When I mod -s  this file
it has to be associated with some loaded module.
-Cliff
 
> 
> > 
> > Tested against a live 2.6.27 kernel.
> > Diffed against crash-4.0-7.6
> > 
> > Signed-off-by: Cliff Wickman <cpw(a)sgi.com>
> > 
> > ---
> >  symbols.c |    8 ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> > 
> > Index: crash-4.0-7.6.ia64/symbols.c
> > ===================================================================
> > --- crash-4.0-7.6.ia64.orig/symbols.c
> > +++ crash-4.0-7.6.ia64/symbols.c
> > @@ -7992,8 +7992,12 @@ load_module_symbols(char *modref, char *
> >  		error(FATAL, "cannot determine object file format: %s\n",
> >  			namelist);
> >  
> > -        if (!(bfd_get_file_flags(mbfd) & HAS_SYMS)) 
> > -          	error(FATAL, "no symbols in object file: %s\n",
> > namelist);
> > +	if (LKCD_KERNTYPES() && file_elf_version(namelist) ==
> > EV_DWARFEXTRACT) {
> > +		goto add_symbols; /* no symbols, add the debuginfo */
> > +	}
> > +
> > +	if (!(bfd_get_file_flags(mbfd) & HAS_SYMS))
> > +		error(FATAL, "no symbols in object file: %s\n", namelist);
> >  
> >  	symcount = bfd_read_minisymbols(mbfd, FALSE, &minisyms, &size);
> >  	if (symcount < 0)
-- 
Cliff Wickman
Silicon Graphics, Inc.
cpw(a)sgi.com
(651) 683-3824
                                
                         
                        
                                
                                16 years, 9 months
                        
                        
                 
         
 
        
            
        
        
        
                
                        
                                
                                 
                                        
                                
                         
                        
                                
                                
                                        
                                                
                                        
                                        
                                        [PATCH] crash: load of module types LKCD_KERNTYPES
                                
                                
                                
                                    
                                        by Cliff Wickman
                                    
                                
                                
                                        
This patch allows additional kerntypes files to be loaded as module
debuginfo (namelist) files.
It's a bit of a kludge, as sym -s module <file> still requires
that these types be associated with a loaded module. (but its use
would only be desirable when there are loaded modules, so that
restriction should not be a problem)
Tested against a live 2.6.27 kernel.
Diffed against crash-4.0-7.6
Signed-off-by: Cliff Wickman <cpw(a)sgi.com>
---
 symbols.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
Index: crash-4.0-7.6.ia64/symbols.c
===================================================================
--- crash-4.0-7.6.ia64.orig/symbols.c
+++ crash-4.0-7.6.ia64/symbols.c
@@ -7992,8 +7992,12 @@ load_module_symbols(char *modref, char *
 		error(FATAL, "cannot determine object file format: %s\n",
 			namelist);
 
-        if (!(bfd_get_file_flags(mbfd) & HAS_SYMS)) 
-          	error(FATAL, "no symbols in object file: %s\n", namelist);
+	if (LKCD_KERNTYPES() && file_elf_version(namelist) == EV_DWARFEXTRACT) {
+		goto add_symbols; /* no symbols, add the debuginfo */
+	}
+
+	if (!(bfd_get_file_flags(mbfd) & HAS_SYMS))
+		error(FATAL, "no symbols in object file: %s\n", namelist);
 
 	symcount = bfd_read_minisymbols(mbfd, FALSE, &minisyms, &size);
 	if (symcount < 0)
                                
                         
                        
                                
                                16 years, 9 months
                        
                        
                 
         
 
        
            
        
        
        
                
                        
                                
                                 
                                        
                                
                         
                        
                                
                                
                                        
                                                
                                        
                                        
                                        Re: [Crash-utility] crash mod -S problem
                                
                                
                                
                                    
                                        by Dave Anderson
                                    
                                
                                
                                        
----- "Cliff Wickman" <cpw(a)sgi.com> wrote:
> On Thu, Jan 29, 2009 at 11:23:49AM -0500, Dave Anderson wrote:
> > 
> > ----- "Cliff Wickman" <cpw(a)sgi.com> wrote:
> > 
> > > Hi Dave, and company,
> > > 
> > > I have a question.  Perhaps this is a known issue -- should I be looking
> > > in an archive somewhere?
> > > 
> > > The crash command "mod -S" is messing up the address list.
> > > 
> > > This is crash-4.0-7.6, running on ia64.
> > > 
> > > Note how the value of module symbol xfs_ioerror_alert has changed
> > > after the mod -S.
> > > 
> > > Is this a crash problem?  Or my problem?  (there are several ?'s in
> > > the mod -S output, including on the xfs module)
> > 
> > Good question -- I don't know.
> > 
> > It appears that the determination of the module's text starting location
> > is being changed by the "mod -S".  That can happen when the symbols.c
> > function store_load_module_symbols() calls calculate_load_order_v2(),
> > which can change the text start location that was initialized during
> > the crash session initialization by store_module_symbols_v2().
> > 
> > The question is which text start address value is correct.
> > 
> > Try this:
> > 
> >   $ crash -s
> >   crash> help -s | grep mod_text_start > before
> >   crash> mod -S
> >   ... [ snip ] ...
> >   crash> help -s | grep mod_text_start > after
> >   crash> q
> > 
> >   $ diff before after
> 
> It changed:
> $ diff before after
> 1,3c1,3
> <         mod_text_start: a0000002093f0000 (0)
> <         mod_text_start: a000000209410000 (0)
> <         mod_text_start: a000000209430000 (0)
> ---
> >         mod_text_start: a0000002093f49e0 (49e0)
> >         mod_text_start: a000000209412040 (2040)
> >         mod_text_start: a000000209433968 (3968)
> 5,7c5,7
> <         mod_text_start: a000000209470000 (0)
> <         mod_text_start: a0000002094b0000 (0)
> <         mod_text_start: a000000209510000 (0)
> ---
> >         mod_text_start: a000000209483c68 (13c68)
> >         mod_text_start: a0000002094d31a8 (231a8)
> >         mod_text_start: a00000020951c4d8 (c4d8)
> [snip]
> 
>  
> > Typically it won't change, and the before and after files are
> identical.
> > 
> > But on your system it would appear that many (if not all) of the modules are
> > changing their mod_text_start values upon running "mod -S".
> > 
> > You can also determine which value is correct by doing a "dis <function>"
> > command before and after the "mod -S".
> 
> Yes, we were doing a "dis" when we noticed the problem.  The addresses
> are correct before the mod -S.
> 
> So you suspect the problem is in  calculate_load_order_v2() ?
> 
> -Cliff
If the text was correct *before* the "mod -S", then yes, the
text base address was changed by calculate_load_order_v2().
My first response started a cc: to Castor Fu, the author of 
calculate_load_order_v2() function, because I'd be interested
in what he has to say on the matter.  He's on west coast time.
As I understand it, calculate_load_order_v2() is taking the
first (lowest) symbol of each module section (as determined
during initialization), and searches for it in the module
object file.  And when it finds it, it calls bfd_get_section_name()
to get the section name string, and based upon that updates the
fields associated with that section.  For the .text section it
normally finds the first text symbol to have an offset value of 0,
and therefore no changes are made to the mod_text_offset.  It looks
like it's finding the "first" text symbol at a higher offset?
If you enter "set debug 3", and then do a "mod -s <module-name>",
you'll see its machinations on a given module.
Dave
 
> 
> 
> > > crash> sym xfs_ioerror_alert
> > > a000000209955f80 (t) xfs_ioerror_alert  
> > > 
> > > crash> mod -S
> > >      MODULE       NAME                   SIZE  OBJECT FILE
> > > a0000002093fc088  scsi_transport_spi    50672 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/scsi/scsi_transport_spi.ko 
> > > mod: ioc4: last symbol is not _MODULE_END_ioc4?
> > > a000000209412fa8  ioc4                  13056 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/misc/ioc4.ko 
> > > mod: scsi_tgt: last symbol is not _MODULE_END_scsi_tgt?
> > > a000000209435cd0  scsi_tgt              24640 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/scsi/scsi_tgt.ko 
> > > a000000209453610  sgiioc4               14656 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/ide/pci/sgiioc4.ko 
> > > mod: mptbase: last symbol is not _MODULE_END_mptbase?
> > > a000000209497298  mptbase              166540 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/message/fusion/mptbase.ko 
> > > a0000002094f8008  scsi_mod             299024 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/scsi/scsi_mod.ko 
> > > a000000209547038  ide_core             229280 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/ide/ide-core.ko 
> > > a000000209583da0  qla1280              148256 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/scsi/qla1280.ko 
> > > mod: scsi_transport_fc: last symbol is not
> > > _MODULE_END_scsi_transport_fc?
> > > a0000002095b51d0  scsi_transport_fc     88156 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/scsi/scsi_transport_fc.ko 
> > > a0000002095d7bd8  mptfc                 32776 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/message/fusion/mptfc.ko 
> > > mod: mptscsih: last symbol is not _MODULE_END_mptscsih?
> > > a000000209610618  mptscsih              68816 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/message/fusion/mptscsih.ko 
> > > a000000209631208  hwmon                  5304 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/hwmon/hwmon.ko 
> > > mod: thermal_sys: last symbol is not _MODULE_END_thermal_sys?
> > > a000000209655c90  thermal_sys           24656 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/thermal/thermal_sys.ko 
> > > a000000209679b40  thermal               41144 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/acpi/thermal.ko 
> > > a0000002096b4340  processor             85008 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/acpi/processor.ko 
> > > a0000002096d23c8  fan                    9960 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/acpi/fan.ko 
> > > a000000209718490  mptspi                34936 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/message/fusion/mptspi.ko 
> > > a000000209730e00  ide_generic            4264 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/ide/ide-generic.ko 
> > > a0000002097506f0  crc_t10dif             2336 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/lib/crc-t10dif.ko 
> > > a000000209773430  button                14312 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/acpi/button.ko 
> > > a0000002097b1380  sd_mod                72432 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/scsi/sd_mod.ko 
> > > a0000002097e12a0  sg                    71976 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/scsi/sg.ko 
> > > a0000002098124b8  cdrom                 77752 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/cdrom/cdrom.ko 
> > > mod: cannot find or load object file for ide_cd_mod module
> > > mod: libphy: last symbol is not _MODULE_END_libphy?
> > > a000000209859928  libphy                40168 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/net/phy/libphy.ko 
> > > mod: xfs: last symbol is not _MODULE_END_xfs?
> > > a0000002099abaf0  xfs                 1233888 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/fs/xfs/xfs.ko 
> > > a0000002099ed130  mptctl               188064 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/message/fusion/mptctl.ko 
> > > a000000209a04690  mmtimer               18836 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/char/mmtimer.ko 
> > > a000000209a53a68  kdbm_pg               16632 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/kdb/modules/kdbm_pg.ko 
> > > a000000209a70a48  kdbm_sched             3296 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/kdb/modules/kdbm_sched.ko 
> > > a000000209a91b28  kdbm_task             40608 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/kdb/modules/kdbm_task.ko 
> > > a000000209b1fba0  qla2xxx              463704 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/scsi/qla2xxx/qla2xxx.ko 
> > > a000000209b850c0  tg3                  284796 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/net/tg3.ko 
> > > mod: dm_mod: last symbol is not _MODULE_END_dm_mod?
> > > a000000209ff25f8  dm_mod               143048 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/md/dm-mod.ko 
> > > a00000020a016518  kdbm_vm               28112 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/kdb/modules/kdbm_vm.ko 
> > > a00000020a031f20  mspec                 16932 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/char/mspec.ko 
> > > a00000020a05e290  numatools             59232 
> > > /lib/modules/2.6.27.8-1-sgidev/up
> > > dates/numatools.ko 
> > > a00000020a073f38  xp                    17216 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/misc/sgi-xp/xp.ko 
> > > a00000020a0b4c08  gru                   87288 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/misc/sgi-gru/gru.ko 
> > > a00000020a0d38e0  sgi_gpl_lib           15272 
> > > /lib/modules/2.6.27.8-1-sgidev/we
> > > ak-updates/extra/gpl_lib/sgi-gpl-lib.ko 
> > > a00000020a115c58  myri10ge              91048 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/net/myri10ge/myri10ge.ko 
> > > mod: loop: last symbol is not _MODULE_END_loop?
> > > a00000020a138478  loop                  34788 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/block/loop.ko 
> > > mod: cannot find or load object file for nls_iso8859_1 module
> > > a00000020a18ac80  sgi_os_lib           111192 
> > > /lib/modules/2.6.27.8-1-sgidev/we
> > > ak-updates/extra/os_lib/sgi-os-lib.ko 
> > > mod: crypto_blkcipher: last symbol is not
> > > _MODULE_END_crypto_blkcipher?
> > > a00000020a1a8c00  crypto_blkcipher      36848 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/crypto/crypto_blkcipher.ko 
> > > a00000020a1c6fd0  dm_crypt              29784 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/drivers/md/dm-crypt.ko 
> > > a00000020a1e4cd8  binfmt_misc           20444 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/fs/binfmt_misc.ko 
> > > a00000020a25d758  xpmem                122536 
> > > /lib/modules/2.6.27.8-1-sgidev/up
> > > dates/xpmem.ko 
> > > a00000020a28d518  fuse                 121352 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/fs/fuse/fuse.ko 
> > > mod: ipv6: last symbol is not _MODULE_END_ipv6?
> > > a00000020a358030  ipv6                 627656 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/net/ipv6/ipv6.ko 
> > > mod: sgi_xvm: last symbol is not _MODULE_END_sgi_xvm?
> > > a00000020a41a520  sgi_xvm              704400 
> > > /lib/modules/2.6.27.8-1-sgidev/we
> > > ak-updates/extra/xvm/sgi-xvm.ko 
> > > a00000020a46ba78  autofs4               48656 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/fs/autofs4/autofs4.ko 
> > > a00000020a482090  exportfs               8944 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/fs/exportfs/exportfs.ko 
> > > mod: auth_rpcgss: last symbol is not _MODULE_END_auth_rpcgss?
> > > a00000020a4b3ee0  auth_rpcgss           82696 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/net/sunrpc/auth_gss/auth_rpcgss.ko 
> > > mod: nfs_acl: last symbol is not _MODULE_END_nfs_acl?
> > > a00000020a4d17b8  nfs_acl                6648 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/fs/nfs_common/nfs_acl.ko 
> > > a00000020a5b1e88  sunrpc               472176 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/net/sunrpc/sunrpc.ko 
> > > mod: lockd: last symbol is not _MODULE_END_lockd?
> > > a00000020a5f1e00  lockd                141416 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/fs/lockd/lockd.ko 
> > > a00000020a6aaa98  nfs                  641664 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/fs/nfs/nfs.ko 
> > > a00000020a73ea30  nfsd                 523168 
> > > /lib/modules/2.6.27.8-1-sgidev/ke
> > > rnel/fs/nfsd/nfsd.ko 
> > > 
> > > crash> sym xfs_ioerror_alert
> > > a000000209992d18 (T) xfs_ioerror_alert 
> > > 
> > > Thanks.
> > > -Cliff
> > > 
> > > --
> > > Crash-utility mailing list
> > > Crash-utility(a)redhat.com
> > > https://www.redhat.com/mailman/listinfo/crash-utility
> > 
> > --
> > Crash-utility mailing list
> > Crash-utility(a)redhat.com
> > https://www.redhat.com/mailman/listinfo/crash-utility
> 
> -- 
> Cliff Wickman
> Silicon Graphics, Inc.
> cpw(a)sgi.com
> (651) 683-3824
> 
> --
> Crash-utility mailing list
> Crash-utility(a)redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
                                
                         
                        
                                
                                16 years, 9 months
                        
                        
                 
         
 
        
            
        
        
        
                
                        
                                
                                 
                                        
                                
                         
                        
                                
                                
                                        
                                                
                                        
                                        
                                        Re: [Crash-utility] crash mod -S problem
                                
                                
                                
                                    
                                        by Dave Anderson
                                    
                                
                                
                                        
----- "Cliff Wickman" <cpw(a)sgi.com> wrote:
> Hi Dave, and company,
> 
> I have a question.  Perhaps this is a known issue -- should I be looking
> in an archive somewhere?
> 
> The crash command "mod -S" is messing up the address list.
> 
> This is crash-4.0-7.6, running on ia64.
> 
> Note how the value of module symbol xfs_ioerror_alert has changed
> after the mod -S.
> 
> Is this a crash problem?  Or my problem?  (there are several ?'s in
> the mod -S output, including on the xfs module)
Good question -- I don't know.
It appears that the determination of the module's text starting location
is being changed by the "mod -S".  That can happen when the symbols.c
function store_load_module_symbols() calls calculate_load_order_v2(),
which can change the text start location that was initialized during
the crash session initialization by store_module_symbols_v2().
The question is which text start address value is correct.
Try this:
  $ crash -s
  crash> help -s | grep mod_text_start > before
  crash> mod -S
  ... [ snip ] ...
  crash> help -s | grep mod_text_start > after
  crash> q
  $ diff before after
Typically it won't change, and the before and after files are identical.
But on your system it would appear that many (if not all) of the modules are
changing their mod_text_start values upon running "mod -S".
You can also determine which value is correct by doing a "dis <function>"
command before and after the "mod -S".
Dave
> crash> sym xfs_ioerror_alert
> a000000209955f80 (t) xfs_ioerror_alert  
> 
> crash> mod -S
>      MODULE       NAME                   SIZE  OBJECT FILE
> a0000002093fc088  scsi_transport_spi    50672 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/scsi/scsi_transport_spi.ko 
> mod: ioc4: last symbol is not _MODULE_END_ioc4?
> a000000209412fa8  ioc4                  13056 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/misc/ioc4.ko 
> mod: scsi_tgt: last symbol is not _MODULE_END_scsi_tgt?
> a000000209435cd0  scsi_tgt              24640 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/scsi/scsi_tgt.ko 
> a000000209453610  sgiioc4               14656 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/ide/pci/sgiioc4.ko 
> mod: mptbase: last symbol is not _MODULE_END_mptbase?
> a000000209497298  mptbase              166540 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/message/fusion/mptbase.ko 
> a0000002094f8008  scsi_mod             299024 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/scsi/scsi_mod.ko 
> a000000209547038  ide_core             229280 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/ide/ide-core.ko 
> a000000209583da0  qla1280              148256 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/scsi/qla1280.ko 
> mod: scsi_transport_fc: last symbol is not
> _MODULE_END_scsi_transport_fc?
> a0000002095b51d0  scsi_transport_fc     88156 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/scsi/scsi_transport_fc.ko 
> a0000002095d7bd8  mptfc                 32776 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/message/fusion/mptfc.ko 
> mod: mptscsih: last symbol is not _MODULE_END_mptscsih?
> a000000209610618  mptscsih              68816 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/message/fusion/mptscsih.ko 
> a000000209631208  hwmon                  5304 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/hwmon/hwmon.ko 
> mod: thermal_sys: last symbol is not _MODULE_END_thermal_sys?
> a000000209655c90  thermal_sys           24656 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/thermal/thermal_sys.ko 
> a000000209679b40  thermal               41144 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/acpi/thermal.ko 
> a0000002096b4340  processor             85008 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/acpi/processor.ko 
> a0000002096d23c8  fan                    9960 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/acpi/fan.ko 
> a000000209718490  mptspi                34936 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/message/fusion/mptspi.ko 
> a000000209730e00  ide_generic            4264 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/ide/ide-generic.ko 
> a0000002097506f0  crc_t10dif             2336 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/lib/crc-t10dif.ko 
> a000000209773430  button                14312 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/acpi/button.ko 
> a0000002097b1380  sd_mod                72432 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/scsi/sd_mod.ko 
> a0000002097e12a0  sg                    71976 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/scsi/sg.ko 
> a0000002098124b8  cdrom                 77752 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/cdrom/cdrom.ko 
> mod: cannot find or load object file for ide_cd_mod module
> mod: libphy: last symbol is not _MODULE_END_libphy?
> a000000209859928  libphy                40168 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/net/phy/libphy.ko 
> mod: xfs: last symbol is not _MODULE_END_xfs?
> a0000002099abaf0  xfs                 1233888 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/fs/xfs/xfs.ko 
> a0000002099ed130  mptctl               188064 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/message/fusion/mptctl.ko 
> a000000209a04690  mmtimer               18836 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/char/mmtimer.ko 
> a000000209a53a68  kdbm_pg               16632 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/kdb/modules/kdbm_pg.ko 
> a000000209a70a48  kdbm_sched             3296 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/kdb/modules/kdbm_sched.ko 
> a000000209a91b28  kdbm_task             40608 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/kdb/modules/kdbm_task.ko 
> a000000209b1fba0  qla2xxx              463704 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/scsi/qla2xxx/qla2xxx.ko 
> a000000209b850c0  tg3                  284796 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/net/tg3.ko 
> mod: dm_mod: last symbol is not _MODULE_END_dm_mod?
> a000000209ff25f8  dm_mod               143048 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/md/dm-mod.ko 
> a00000020a016518  kdbm_vm               28112 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/kdb/modules/kdbm_vm.ko 
> a00000020a031f20  mspec                 16932 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/char/mspec.ko 
> a00000020a05e290  numatools             59232 
> /lib/modules/2.6.27.8-1-sgidev/up
> dates/numatools.ko 
> a00000020a073f38  xp                    17216 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/misc/sgi-xp/xp.ko 
> a00000020a0b4c08  gru                   87288 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/misc/sgi-gru/gru.ko 
> a00000020a0d38e0  sgi_gpl_lib           15272 
> /lib/modules/2.6.27.8-1-sgidev/we
> ak-updates/extra/gpl_lib/sgi-gpl-lib.ko 
> a00000020a115c58  myri10ge              91048 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/net/myri10ge/myri10ge.ko 
> mod: loop: last symbol is not _MODULE_END_loop?
> a00000020a138478  loop                  34788 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/block/loop.ko 
> mod: cannot find or load object file for nls_iso8859_1 module
> a00000020a18ac80  sgi_os_lib           111192 
> /lib/modules/2.6.27.8-1-sgidev/we
> ak-updates/extra/os_lib/sgi-os-lib.ko 
> mod: crypto_blkcipher: last symbol is not
> _MODULE_END_crypto_blkcipher?
> a00000020a1a8c00  crypto_blkcipher      36848 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/crypto/crypto_blkcipher.ko 
> a00000020a1c6fd0  dm_crypt              29784 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/drivers/md/dm-crypt.ko 
> a00000020a1e4cd8  binfmt_misc           20444 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/fs/binfmt_misc.ko 
> a00000020a25d758  xpmem                122536 
> /lib/modules/2.6.27.8-1-sgidev/up
> dates/xpmem.ko 
> a00000020a28d518  fuse                 121352 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/fs/fuse/fuse.ko 
> mod: ipv6: last symbol is not _MODULE_END_ipv6?
> a00000020a358030  ipv6                 627656 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/net/ipv6/ipv6.ko 
> mod: sgi_xvm: last symbol is not _MODULE_END_sgi_xvm?
> a00000020a41a520  sgi_xvm              704400 
> /lib/modules/2.6.27.8-1-sgidev/we
> ak-updates/extra/xvm/sgi-xvm.ko 
> a00000020a46ba78  autofs4               48656 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/fs/autofs4/autofs4.ko 
> a00000020a482090  exportfs               8944 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/fs/exportfs/exportfs.ko 
> mod: auth_rpcgss: last symbol is not _MODULE_END_auth_rpcgss?
> a00000020a4b3ee0  auth_rpcgss           82696 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/net/sunrpc/auth_gss/auth_rpcgss.ko 
> mod: nfs_acl: last symbol is not _MODULE_END_nfs_acl?
> a00000020a4d17b8  nfs_acl                6648 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/fs/nfs_common/nfs_acl.ko 
> a00000020a5b1e88  sunrpc               472176 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/net/sunrpc/sunrpc.ko 
> mod: lockd: last symbol is not _MODULE_END_lockd?
> a00000020a5f1e00  lockd                141416 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/fs/lockd/lockd.ko 
> a00000020a6aaa98  nfs                  641664 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/fs/nfs/nfs.ko 
> a00000020a73ea30  nfsd                 523168 
> /lib/modules/2.6.27.8-1-sgidev/ke
> rnel/fs/nfsd/nfsd.ko 
> 
> crash> sym xfs_ioerror_alert
> a000000209992d18 (T) xfs_ioerror_alert 
> 
> Thanks.
> -Cliff
> 
> --
> Crash-utility mailing list
> Crash-utility(a)redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
                                
                         
                        
                                
                                16 years, 9 months
                        
                        
                 
         
 
        
            
        
        
        
                
                        
                                
                                 
                                        
                                
                         
                        
                                
                                
                                        
                                                
                                        
                                        
                                        crash mod -S problem
                                
                                
                                
                                    
                                        by Cliff Wickman
                                    
                                
                                
                                        
Hi Dave, and company,
I have a question.  Perhaps this is a known issue -- should I be looking
in an archive somewhere?
The crash command "mod -S" is messing up the address list.
This is crash-4.0-7.6, running on ia64.
Note how the value of module symbol xfs_ioerror_alert has changed
after the mod -S.
Is this a crash problem?  Or my problem?  (there are several ?'s in
the mod -S output, including on the xfs module)
crash> sym xfs_ioerror_alert
a000000209955f80 (t) xfs_ioerror_alert  
crash> mod -S
     MODULE       NAME                   SIZE  OBJECT FILE
a0000002093fc088  scsi_transport_spi    50672  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/scsi/scsi_transport_spi.ko 
mod: ioc4: last symbol is not _MODULE_END_ioc4?
a000000209412fa8  ioc4                  13056  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/misc/ioc4.ko 
mod: scsi_tgt: last symbol is not _MODULE_END_scsi_tgt?
a000000209435cd0  scsi_tgt              24640  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/scsi/scsi_tgt.ko 
a000000209453610  sgiioc4               14656  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/ide/pci/sgiioc4.ko 
mod: mptbase: last symbol is not _MODULE_END_mptbase?
a000000209497298  mptbase              166540  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/message/fusion/mptbase.ko 
a0000002094f8008  scsi_mod             299024  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/scsi/scsi_mod.ko 
a000000209547038  ide_core             229280  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/ide/ide-core.ko 
a000000209583da0  qla1280              148256  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/scsi/qla1280.ko 
mod: scsi_transport_fc: last symbol is not _MODULE_END_scsi_transport_fc?
a0000002095b51d0  scsi_transport_fc     88156  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/scsi/scsi_transport_fc.ko 
a0000002095d7bd8  mptfc                 32776  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/message/fusion/mptfc.ko 
mod: mptscsih: last symbol is not _MODULE_END_mptscsih?
a000000209610618  mptscsih              68816  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/message/fusion/mptscsih.ko 
a000000209631208  hwmon                  5304  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/hwmon/hwmon.ko 
mod: thermal_sys: last symbol is not _MODULE_END_thermal_sys?
a000000209655c90  thermal_sys           24656  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/thermal/thermal_sys.ko 
a000000209679b40  thermal               41144  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/acpi/thermal.ko 
a0000002096b4340  processor             85008  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/acpi/processor.ko 
a0000002096d23c8  fan                    9960  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/acpi/fan.ko 
a000000209718490  mptspi                34936  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/message/fusion/mptspi.ko 
a000000209730e00  ide_generic            4264  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/ide/ide-generic.ko 
a0000002097506f0  crc_t10dif             2336  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/lib/crc-t10dif.ko 
a000000209773430  button                14312  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/acpi/button.ko 
a0000002097b1380  sd_mod                72432  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/scsi/sd_mod.ko 
a0000002097e12a0  sg                    71976  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/scsi/sg.ko 
a0000002098124b8  cdrom                 77752  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/cdrom/cdrom.ko 
mod: cannot find or load object file for ide_cd_mod module
mod: libphy: last symbol is not _MODULE_END_libphy?
a000000209859928  libphy                40168  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/net/phy/libphy.ko 
mod: xfs: last symbol is not _MODULE_END_xfs?
a0000002099abaf0  xfs                 1233888  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/fs/xfs/xfs.ko 
a0000002099ed130  mptctl               188064  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/message/fusion/mptctl.ko 
a000000209a04690  mmtimer               18836  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/char/mmtimer.ko 
a000000209a53a68  kdbm_pg               16632  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/kdb/modules/kdbm_pg.ko 
a000000209a70a48  kdbm_sched             3296  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/kdb/modules/kdbm_sched.ko 
a000000209a91b28  kdbm_task             40608  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/kdb/modules/kdbm_task.ko 
a000000209b1fba0  qla2xxx              463704  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/scsi/qla2xxx/qla2xxx.ko 
a000000209b850c0  tg3                  284796  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/net/tg3.ko 
mod: dm_mod: last symbol is not _MODULE_END_dm_mod?
a000000209ff25f8  dm_mod               143048  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/md/dm-mod.ko 
a00000020a016518  kdbm_vm               28112  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/kdb/modules/kdbm_vm.ko 
a00000020a031f20  mspec                 16932  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/char/mspec.ko 
a00000020a05e290  numatools             59232  /lib/modules/2.6.27.8-1-sgidev/up
dates/numatools.ko 
a00000020a073f38  xp                    17216  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/misc/sgi-xp/xp.ko 
a00000020a0b4c08  gru                   87288  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/misc/sgi-gru/gru.ko 
a00000020a0d38e0  sgi_gpl_lib           15272  /lib/modules/2.6.27.8-1-sgidev/we
ak-updates/extra/gpl_lib/sgi-gpl-lib.ko 
a00000020a115c58  myri10ge              91048  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/net/myri10ge/myri10ge.ko 
mod: loop: last symbol is not _MODULE_END_loop?
a00000020a138478  loop                  34788  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/block/loop.ko 
mod: cannot find or load object file for nls_iso8859_1 module
a00000020a18ac80  sgi_os_lib           111192  /lib/modules/2.6.27.8-1-sgidev/we
ak-updates/extra/os_lib/sgi-os-lib.ko 
mod: crypto_blkcipher: last symbol is not _MODULE_END_crypto_blkcipher?
a00000020a1a8c00  crypto_blkcipher      36848  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/crypto/crypto_blkcipher.ko 
a00000020a1c6fd0  dm_crypt              29784  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/drivers/md/dm-crypt.ko 
a00000020a1e4cd8  binfmt_misc           20444  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/fs/binfmt_misc.ko 
a00000020a25d758  xpmem                122536  /lib/modules/2.6.27.8-1-sgidev/up
dates/xpmem.ko 
a00000020a28d518  fuse                 121352  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/fs/fuse/fuse.ko 
mod: ipv6: last symbol is not _MODULE_END_ipv6?
a00000020a358030  ipv6                 627656  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/net/ipv6/ipv6.ko 
mod: sgi_xvm: last symbol is not _MODULE_END_sgi_xvm?
a00000020a41a520  sgi_xvm              704400  /lib/modules/2.6.27.8-1-sgidev/we
ak-updates/extra/xvm/sgi-xvm.ko 
a00000020a46ba78  autofs4               48656  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/fs/autofs4/autofs4.ko 
a00000020a482090  exportfs               8944  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/fs/exportfs/exportfs.ko 
mod: auth_rpcgss: last symbol is not _MODULE_END_auth_rpcgss?
a00000020a4b3ee0  auth_rpcgss           82696  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/net/sunrpc/auth_gss/auth_rpcgss.ko 
mod: nfs_acl: last symbol is not _MODULE_END_nfs_acl?
a00000020a4d17b8  nfs_acl                6648  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/fs/nfs_common/nfs_acl.ko 
a00000020a5b1e88  sunrpc               472176  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/net/sunrpc/sunrpc.ko 
mod: lockd: last symbol is not _MODULE_END_lockd?
a00000020a5f1e00  lockd                141416  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/fs/lockd/lockd.ko 
a00000020a6aaa98  nfs                  641664  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/fs/nfs/nfs.ko 
a00000020a73ea30  nfsd                 523168  /lib/modules/2.6.27.8-1-sgidev/ke
rnel/fs/nfsd/nfsd.ko 
crash> sym xfs_ioerror_alert
a000000209992d18 (T) xfs_ioerror_alert 
Thanks.
-Cliff
                                
                         
                        
                                
                                16 years, 9 months
                        
                        
                 
         
 
        
            
        
        
        
                
                        
                                
                                 
                                        
                                
                         
                        
                                
                                
                                        
                                                
                                        
                                        
                                        Re: BISECTED: Re: source line numbers with x86_64 modules?
                                
                                
                                
                                    
                                        by Dave Anderson
                                    
                                
                                
                                        
----- "Eric W. Biederman" <ebiederm(a)xmission.com> wrote:
> Mike Snitzer <snitzer(a)gmail.com> writes:
> 
> > [I've trimmed the wide cc distribution that was inherited when I
> > forked a different thread]
> >
> > On Mon, Jan 12, 2009 at 10:19 PM, Eric W. Biederman
> > <ebiederm(a)xmission.com> wrote:
> >> "Mike Snitzer" <snitzer(a)gmail.com> writes:
> >>>
> >>> Now if only I could fix line numbers when debugging crashes in x86_64
> >>> modules with the crash utility! :)
> >>
> >> It's a userspace problem...
> >>
> >> All of the little usability things are userspace problems.
> >>
> >> I won't claim that it is trivial because it is a userspace problem, at the same
> >> time there is no reason to wait for any kernel features to merge etc.  Someone
> >> just has to scratch an itch and go fix it.
> >
> > Yes, the crash utility (userspace) is clearly having problems getting
> > line number for symbols in x86_64 modules.  But I finally took some
> > time to bisect the point in the kernel where the crash utility first
> > started to fail, it appears to be:
> >
> > commit 7460ed2844ffad7141e30271c0c3da8336e66014
> > Author: john stultz <johnstul(a)us.ibm.com>
> > Date:   Fri Feb 16 01:28:21 2007 -0800
> >
> > I used version 4.0-7.6 of the crash utility to test if each commit was
> > good or bad.  I simply checked if ext3's module had correct line
> > number info for the ext3_get_blocks_handle symbol with: sym
> > ext3_get_blocks_handle
> 
> Weird.  That patch doesn't appear to affect anything in that area.
> So my stab in the dark is that there is something in vmlinux that
> crash doesn't know how to cope with.
Actually it's not a problem with the vmlinux file, but rather with kernel
module object files.  The crash utility has an embedded gdb module which
is invoked as "gdb vmlinux", and to get line numbers, the crash utility
simply uses the relevant built-in gdb function to get them.  And line
numbers work fine with the base kernel code from the vmlinux file.
The debuginfo data of kernel modules can be subsequently added to the
crash session by doing a gdb "add-symbol-file" command for any or all
kernel modules.  But getting correct line number information for kernel
modules has been a crap-shoot in the past, depending upon architecture
and/or kernel version.  For example, they don't work with 2.6.9-based
RHEL4 x86_64 kernel modules, but work fine with 2.6.18-based RHEL5 x86_64
kernels.
Looking at Mike's suspect kernel patch list, I don't see anything that
would have any relationship to the issue.  Perhaps there was a build tool
change during the same timeframe? 
 
Dave
                                
                         
                        
                                
                                16 years, 9 months