[Crash-utility] crash fails with incompatible arguments on current kernel

Sebastian Ott sebott at linux.vnet.ibm.com
Mon Jun 6 19:59:37 UTC 2011


On Mon, 6 Jun 2011, Dave Anderson wrote:
> ----- Original Message -----
> > Hi,
> > 
> > crash seems to be a victim of the linux version number change. On a
> > live system it fails with:
> > WARNING: kernels compiled by different gcc versions:
> > /root/data/git.linux-2.6/vmlinux: (unknown)
> > live system kernel: 4.5.3
> > 
> > WARNING: kernel version inconsistency between vmlinux and live memory
> > 
> > crash: incompatible arguments:
> > /root/data/git.linux-2.6/vmlinux is not SMP -- live system is SMP
> 
> Thanks for catching that -- can you also please dump/attach the output
> of "help -k" on that system?
crash> help -k
         flags: 102600
  (PER_CPU_OFF|SMP|KMOD_V2|KALLSYMS_V2|NO_DWARF_UNWIND)
         stext: 11200
         etext: 4c0e40
    stext_init: 7b1000
    etext_init: 7d6594
    init_begin: 7b1000
      init_end: 810000
           end: 119ce78
          cpus: 2
 cpus_override: (null)
       NR_CPUS: 64 (compiled-in to this version of crash)
kernel_NR_CPUS: 4
ikconfig_flags: 1 (IKCONFIG_AVAIL)
 ikconfig_ents: 0
    display_bh: 0
   highest_irq: (unused/undetermined)
   module_list: 3c0009b2500
 kernel_module: 756418
mods_installed: 4
   module_tree: (not used)
          date: Mon Jun  6 21:36:41 2011
  proc_version: Linux version 3.0.0-rc1-00180-g0792644-dirty (root at r35lp47) (gcc version 4.5.3 20110121 (Red Hat 4.5.3-3) (GCC) ) #60 SMP PREEMPT Mon Jun 6 21:33:01 CEST 2011
   new_utsname: 
      .sysname: Linux
     .nodename: r35lp47
      .release: 3.0.0-rc1-00180-g0792644-dirty
     .version: #60 SMP PREEMPT Mon Jun 6 21:33:01 CEST 2011
      .machine: s390x
   .domainname: (none)
kernel_version: 3.0.0
   gcc_version: 4.5.3
     BUG_bytes: -1
      relocate: 0
 runq_siblings: 0
  __rq_idx[NR_CPUS]: (unused)
 __cpu_idx[NR_CPUS]: (unused)
 __per_cpu_offset[NR_CPUS]:
    000000000263d000 0000000002647000 0000000002651000 000000000265b000 
 cpu_flags[NR_CPUS]: 7 7 1 1 
       cpu_possible_map: 0 1 2 3 
        cpu_present_map: 0 1 
         cpu_online_map: 0 1 
     xen_flags: 0 ()
               m2p_page: 0
phys_to_machine_mapping: 0
         p2m_table_size: 0
 p2m_mapping_cache[512]: (use "help -K" to view cache contents)
      last_mapping_read: 0
        p2m_cache_index: 0
     p2m_pages_searched: 0
     p2m_mfn_cache_hits: 0 
    p2m_page_cache_hits: 0 
              pvops_xen:
                    p2m_top: 0
            p2m_top_entries: 0
                p2m_missing: 0
crash>

> 
> Anyway, to avoid any false positives, I'll probably make the patch
> check for "Linux version 2." or "Linux version 3."

Yup, thought about that too. I guess you're right, the chance that
we'll have a Linux 4 in this decade is not that big :-)

Regards,
Sebastian

> 
> Thanks,
>   Dave
> 
> > 
> > as a workaround I've used:
> > ---
> > kernel.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > --- a/kernel.c
> > +++ b/kernel.c
> > @@ -1031,7 +1031,7 @@ verify_namelist()
> > found = FALSE;
> > sprintf(buffer3, "(unknown)");
> > while (fgets(buffer, BUFSIZE-1, pipe)) {
> > - if (!strstr(buffer, "Linux version 2."))
> > + if (!strstr(buffer, "Linux version "))
> > continue;
> > 
> > if (strstr(buffer, kt->proc_version)) {
> > 
> > 
> > Regards,
> > Sebastian
> > 
> > --
> > Crash-utility mailing list
> > Crash-utility at redhat.com
> > https://www.redhat.com/mailman/listinfo/crash-utility
> 
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
> 




More information about the Crash-utility mailing list