On 08/24/2015 04:03 PM, Dave Anderson wrote: > > > ----- Original Message ----- >> >> >> On 08/20/2015 04:04 PM, Dave Anderson wrote: >>> The vmcoreinfo data strings were initially located in an ELF note in /proc/vmcore. >>> When makedumpfile -c was run on /proc/vmcore, it copied those ELF notes into the >>> compressed kdump header, and you have dumped them above. >>> >>> So it seems to be an issue with vmcore-dmesg. If you change the core_collector >>> variable to "cp" or "scp", it will copy /proc/vmcore unmodified to the target >>> location. Then you can run vmcore-dmesg on that file to debug it. >> >> This is very, very odd. Obtaining a raw vmcore with cp and then running >> vmcore-dmesg does show the dmesg log. But at the same time, the >> vmcore-dmesg.txt file is empty and its name is >> vmcore-dmesg-incomplete.txt... > > I'm not sure what you mean. Similar to the saving of the vmcore file, the > script directs the output of vmcore-dmesg into vmcore-dmesg-incomplete.txt. > Then, only if vmcore-dmesg returns an exit status of 0, the script will > rename the file to vmcore-dmesg.txt. vmcore-dmesg vmcore <dmesg log is printed" echo $? 0 so vmcore-dmesg succeeds but for some reason the dmesg is not being redirrected to the txt file. Yes the vmcore-dmesg-incomplete.txt is empty when the crash dump was invoked. So to sum up my findings so far: * When a crash dump is invoked the with the -c option of makedumpfile I get an empty vmcore-dmesg-incomplete.txt. And the error string printed on screen while taking the dump is: "struct log size not exported". Looking at the code this can happen if the "printk_log" symbol cannot be found. However, when I load the resulting vmcore image in crash and invoke help -n I see that the correct symbol is there. * When a raw coredump is taken (via cp as a collector) I still have an empty vmcore-dmesg-incomplete.txt file, yet when I manually run vmcore-dmesg on the resulting vmcore the dmesg is extracted and the return code of the vmcore-dmesg script is 0 (success). Having those facts in mind and what you said I do not see a logical reason why dmesg is not being stored in the text file. So either I'm missing something or the error message that is being printed is very misleading, even though the code that involves is not complicated it at all. Hm.... >