|
List Info
Thread: crash version 4.0-4.7 is available
|
|
| crash version 4.0-4.7 is available |
  United States |
2007-09-25 14:58:50 |
- Incorporation of Luc Chouinard's SIAL interpreter (Simple
Image
Access Language) as a crash extension module. When
loaded with
the "extend" command, the sial.so module
provides three commands,
"load" to load a SIAL script,
"unload" to unload it, and "edit",
which unloads the script, brings up an $EDITOR-based edit
session
of the script, and then loads it again. Also, when the
sial.so
module is loaded, it will automatically load any SIAL
scripts
found in the /usr/share/sial/crash or $HOME/.sial
directories.
Therefore, by putting "extend
<path-to>/sial.so" in either
./.crashrc or $HOME/.crashrc, all desired SIAL scripts
may be
loaded on a particular machine in a hands-off manner.
For details,
consult the README and README.sial files in the
extensions/libsial
subdirectory. (lucchouina yahoo.com)
- Removed hardwired-dependencies in the top-level and
extensions
subdirectory Makefiles for building extension modules.
Now it is
possible to copy an extension module's .c file into the
extensions
subdirectory, and enter "make extensions" from
the top-level to build
it. If the build of the module requires special
handling, a .mk
makefile with the same prefix as the .c file may be
provided, and
and it will be automatically used to build it.
(jmoyer redhat.com, anderson redhat.com)
- When a 32-bit x86 xenU guest is run on an x86_64 dom0
host, the
new-style xen ELF format dumpfile contains an ELF header
with an
e_machine type of EM_X86_64 (instead of EM_386). This
was getting
gets rejected with the error message "crash: vmcore:
not a supported
file format". The fix simply acceptes the e_machine
type mismatch,
since the new-style ELF format dumpfiles are 64-bit by
default.
(anderson redhat.com)
- Enhanced the "kmem <address>" option to
also search for task_struct
and kernel stack addresses, and report them with the
"set" output.
Also, fix for when "kmem
<vmalloc-address>" was entered, the header
for the mem_map data was not displayed. (anderson redhat.com)
- Fix for determining starting rip/rsp backtrace hooks for
the panic
task in x86_64 xen dom0 kdumps; newer kernels have
replaced the
call to "xen_machine_kexec" with
"machine_kexec", and without this
patch may display back-traces with missing frames. Also
on x86_64
non-xen kdump panic task backtraces, it is possible that
the wrong
stack instance of "crash_kexec" is used as the
starting hook, which
may also lead to missing frames. (anderson redhat.com)
- Fix for ia64 LKCD dumpfiles where it is not possible to
read the task
structure of the task that follows a task which is in the
task address
"fixup list", and zeroes are returned instead.
(atyson hp.com)
- Fix for potential "mod -[sS]" failures with
modules whose object
files contain an unusually large number of sections;
module
loading attempts may issue a "<segmentation
violation in gdb>"
message followed by the error message: "mod: [module
name]: gdb
add-symbol-file command failed".
(carl.hsieh teradata.com, anderson redhat.com)
- Fix to prevent dumpfile reads beyond EOF when reading new
(optimized)
xen ELF core xendumps. Without the patch, error messages
of the sort:
"crash: cannot read index page [number]" may
occur during session
initialization, with unpredictable run-time results.
(yamahata valinux.co.jp)
- In x86_xen_kdump_p2m_create(), the same variable was being
used as
the for-loop index in both an outer and an embedded inner
for-loop.
As a result, if debug level was equal to or larger than
7, the outer
for-loop was repeated only once. (nishimura mxp.nes.nec.co.jp)
Download from: http://people.redha
t.com/anderson
--
Crash-utility mailing list
Crash-utility redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
|
|
| Re: crash version 4.0-4.7 is available |
  Germany |
2007-09-26 08:35:30 |
* Dave Anderson <anderson redhat.com> [2007-09-25
21:58]:
>
> - Incorporation of Luc Chouinard's SIAL interpreter
(Simple Image
> Access Language) as a crash extension module. When
loaded with
> the "extend" command, the sial.so module
provides three commands,
> "load" to load a SIAL script,
"unload" to unload it, and "edit",
> which unloads the script, brings up an $EDITOR-based
edit session
> of the script, and then loads it again. Also, when
the sial.so
> module is loaded, it will automatically load any SIAL
scripts
> found in the /usr/share/sial/crash or $HOME/.sial
directories.
> Therefore, by putting "extend
<path-to>/sial.so" in either
> ./.crashrc or $HOME/.crashrc, all desired SIAL
scripts may be
> loaded on a particular machine in a hands-off manner.
For details,
> consult the README and README.sial files in the
extensions/libsial
> subdirectory. (lucchouina yahoo.com)
This extension does not build on IA64 although it should.
Patch:
---
extensions/sial.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/extensions/sial.c
+++ b/extensions/sial.c
 -808,7
+808,7  _init() /* Register the command set. */
#ifdef i386
#define SIAL_ABI ABI_INTEL_X86
#else
-#ifdef ia64
+#ifdef __ia64
#define SIAL_ABI ABI_INTEL_IA
#else
#ifdef __x86_64__
--
Crash-utility mailing list
Crash-utility redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
|
|
| Re: crash version 4.0-4.7 is available |
  United States |
2007-09-26 09:03:05 |
Bernhard Walle wrote:
> * Dave Anderson <anderson redhat.com> [2007-09-25
21:58]:
>
>>- Incorporation of Luc Chouinard's SIAL interpreter
(Simple Image
>> Access Language) as a crash extension module.
When loaded with
>> the "extend" command, the sial.so module
provides three commands,
>> "load" to load a SIAL script,
"unload" to unload it, and "edit",
>> which unloads the script, brings up an
$EDITOR-based edit session
>> of the script, and then loads it again. Also,
when the sial.so
>> module is loaded, it will automatically load any
SIAL scripts
>> found in the /usr/share/sial/crash or $HOME/.sial
directories.
>> Therefore, by putting "extend
<path-to>/sial.so" in either
>> ./.crashrc or $HOME/.crashrc, all desired SIAL
scripts may be
>> loaded on a particular machine in a hands-off
manner. For details,
>> consult the README and README.sial files in the
extensions/libsial
>> subdirectory. (lucchouina yahoo.com)
>
>
> This extension does not build on IA64 although it
should. Patch:
>
> ---
> extensions/sial.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/extensions/sial.c
> +++ b/extensions/sial.c
>  -808,7 +808,7  _init() /* Register the command set. */
> #ifdef i386
> #define SIAL_ABI ABI_INTEL_X86
> #else
> -#ifdef ia64
> +#ifdef __ia64
> #define SIAL_ABI ABI_INTEL_IA
> #else
> #ifdef __x86_64__
Hmmm, I wonder about this part, earlier in sial.c on line
489?
#ifdef ia64
{"ia64", "1"},
{"__ia64", "1"},
{"__ia64__", "1"},
{"__LP64__", "1"},
{"_LONGLONG", "1"},
{"__LONG_MAX__",
"9223372036854775807L"},
#endif
[ http://people.redhat.com/anderson/crash_s
ources_lines/extensions/sial.c ]
BTW, it was only tested on x86 and x86_64.
Any results on or s390/s390x? And is this even
supposed to support ppc64?
Thanks,
Dave
--
Crash-utility mailing list
Crash-utility redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
|
|
| Re: crash version 4.0-4.7 is available |
  Germany |
2007-09-26 09:04:09 |
* Dave Anderson <anderson redhat.com> [2007-09-26
16:03]:
> Bernhard Walle wrote:
>> * Dave Anderson <anderson redhat.com> [2007-09-25
21:58]:
>>> - Incorporation of Luc Chouinard's SIAL
interpreter (Simple Image
>>> Access Language) as a crash extension module.
When loaded with
>>> the "extend" command, the sial.so
module provides three commands,
>>> "load" to load a SIAL script,
"unload" to unload it, and "edit",
>>> which unloads the script, brings up an
$EDITOR-based edit session
>>> of the script, and then loads it again. Also,
when the sial.so
>>> module is loaded, it will automatically load
any SIAL scripts
>>> found in the /usr/share/sial/crash or
$HOME/.sial directories.
>>> Therefore, by putting "extend
<path-to>/sial.so" in either
>>> ./.crashrc or $HOME/.crashrc, all desired SIAL
scripts may be
>>> loaded on a particular machine in a hands-off
manner. For details,
>>> consult the README and README.sial files in
the extensions/libsial
>>> subdirectory. (lucchouina yahoo.com)
>> This extension does not build on IA64 although it
should. Patch:
>> ---
>> extensions/sial.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>> --- a/extensions/sial.c
>> +++ b/extensions/sial.c
>>  -808,7 +808,7  _init() /* Register the command set. */
>> #ifdef i386
>> #define SIAL_ABI ABI_INTEL_X86
>> #else -#ifdef ia64
>> +#ifdef __ia64
>> #define SIAL_ABI ABI_INTEL_IA
>> #else
>> #ifdef __x86_64__
>
>
> Hmmm, I wonder about this part, earlier in sial.c on
line 489?
>
> #ifdef ia64
> {"ia64", "1"},
> {"__ia64", "1"},
> {"__ia64__", "1"},
> {"__LP64__", "1"},
> {"_LONGLONG", "1"},
> {"__LONG_MAX__",
"9223372036854775807L"},
> #endif
Right, I didn't actually run the code, I only built the
code. ;)
> Any results on or s390/s390x? And is this even
> supposed to support ppc64?
That doesn't build at all:
817 #error sial: Unkown ABI
Thanks,
Bernhard
Updated patch:
---
extensions/sial.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/extensions/sial.c
+++ b/extensions/sial.c
 -486,7
+486,7  struct linuxdefs_s {
{"__s390x", "1"},
{"__s390x__", "1"},
#endif
-#ifdef ia64
+#ifdef __ia64
{"ia64", "1"},
{"__ia64", "1"},
{"__ia64__", "1"},
 -808,7
+808,7  _init() /* Register the command set. */
#ifdef i386
#define SIAL_ABI ABI_INTEL_X86
#else
-#ifdef ia64
+#ifdef __ia64
#define SIAL_ABI ABI_INTEL_IA
#else
#ifdef __x86_64__
--
Crash-utility mailing list
Crash-utility redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
|
|
| Re: crash version 4.0-4.7 is available |
  United States |
2007-09-26 10:31:17 |
Bernhard Walle wrote:
> * Dave Anderson <anderson redhat.com> [2007-09-26
16:03]:
>
>>Bernhard Walle wrote:
>>
>>>* Dave Anderson <anderson redhat.com> [2007-09-25 21:58]:
>>>
>>>>- Incorporation of Luc Chouinard's SIAL
interpreter (Simple Image
>>>> Access Language) as a crash extension
module. When loaded with
>>>> the "extend" command, the sial.so
module provides three commands,
>>>> "load" to load a SIAL script,
"unload" to unload it, and "edit",
>>>> which unloads the script, brings up an
$EDITOR-based edit session
>>>> of the script, and then loads it again.
Also, when the sial.so
>>>> module is loaded, it will automatically
load any SIAL scripts
>>>> found in the /usr/share/sial/crash or
$HOME/.sial directories.
>>>> Therefore, by putting "extend
<path-to>/sial.so" in either
>>>> ./.crashrc or $HOME/.crashrc, all desired
SIAL scripts may be
>>>> loaded on a particular machine in a
hands-off manner. For details,
>>>> consult the README and README.sial files in
the extensions/libsial
>>>> subdirectory. (lucchouina yahoo.com)
>>>
>>>This extension does not build on IA64 although
it should. Patch:
>>>---
>>> extensions/sial.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>--- a/extensions/sial.c
>>>+++ b/extensions/sial.c
>>> -808,7 +808,7  _init() /* Register the command set. */
>>> #ifdef i386
>>> #define SIAL_ABI ABI_INTEL_X86
>>> #else -#ifdef ia64
>>>+#ifdef __ia64
>>> #define SIAL_ABI ABI_INTEL_IA
>>> #else
>>> #ifdef __x86_64__
>>
>>
>>Hmmm, I wonder about this part, earlier in sial.c on
line 489?
>>
>>#ifdef ia64
>> {"ia64", "1"},
>> {"__ia64", "1"},
>> {"__ia64__", "1"},
>> {"__LP64__", "1"},
>> {"_LONGLONG", "1"},
>> {"__LONG_MAX__",
"9223372036854775807L"},
>>#endif
>
>
> Right, I didn't actually run the code, I only built the
code. ;)
>
>
>>Any results on or s390/s390x? And is this even
>>supposed to support ppc64?
>
>
> That doesn't build at all:
>
> 817 #error sial: Unkown ABI
You mean ppc64, right? I see that there is some s390/s390x
stuff in that linuxdefs[] array, but AFAICT, those two
arches
should also fall into that same "Unkown ABI" line
817 segment.
Anyway, Luc, Bernhard's patch seem obvious, but I will
defer all sial-related updates for you to sign off on.
Thanks,
Dave
>
>
> Thanks,
> Bernhard
>
>
> Updated patch:
>
> ---
> extensions/sial.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> --- a/extensions/sial.c
> +++ b/extensions/sial.c
>  -486,7 +486,7  struct linuxdefs_s {
> {"__s390x", "1"},
> {"__s390x__", "1"},
> #endif
> -#ifdef ia64
> +#ifdef __ia64
> {"ia64", "1"},
> {"__ia64", "1"},
> {"__ia64__", "1"},
>  -808,7 +808,7  _init() /* Register the command set. */
> #ifdef i386
> #define SIAL_ABI ABI_INTEL_X86
> #else
> -#ifdef ia64
> +#ifdef __ia64
> #define SIAL_ABI ABI_INTEL_IA
> #else
> #ifdef __x86_64__
--
Crash-utility mailing list
Crash-utility redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
|
|
| Re: crash version 4.0-4.7 is available |
  Germany |
2007-09-26 10:30:52 |
* Dave Anderson <anderson redhat.com> [2007-09-26
17:31]:
>>> supposed to support ppc64?
>> That doesn't build at all:
>> 817 #error sial: Unkown ABI
>
> You mean ppc64, right? I see that there is some
s390/s390x
> stuff in that linuxdefs[] array, but AFAICT, those two
arches
> should also fall into that same "Unkown ABI"
line 817 segment.
I mean both ppc64 and s390/x. All three arches fall into
that 817
line. I only fixed IA64 because that seemed quite obvious to
me.
Maybe also some other compiler/binutils combinations
(RH/Fedora?)
provide that ia64 preprocessor definition. I only checked
ours.
Thanks,
Bernhard
--
Crash-utility mailing list
Crash-utility redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
|
|
| Re: crash version 4.0-4.7 is available |
  United States |
2007-09-26 10:43:47 |
Bernhard Walle wrote:
> * Dave Anderson <anderson redhat.com> [2007-09-26
17:31]:
>
>>>>supposed to support ppc64?
>>>
>>>That doesn't build at all:
>>> 817 #error sial: Unkown ABI
>>
>>You mean ppc64, right? I see that there is some
s390/s390x
>>stuff in that linuxdefs[] array, but AFAICT, those
two arches
>>should also fall into that same "Unkown
ABI" line 817 segment.
>
>
> I mean both ppc64 and s390/x. All three arches fall
into that 817
> line. I only fixed IA64 because that seemed quite
obvious to me.
> Maybe also some other compiler/binutils combinations
(RH/Fedora?)
> provide that ia64 preprocessor definition. I only
checked ours.
>
>
Right -- I was wondering about that also.
Luc, you could always use #ifdef IA64, the -D$(TARGET)
that gets passed in to the sial.c build from above.
But that's your call...
Dave
> Thanks,
> Bernhard
--
Crash-utility mailing list
Crash-utility redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
|
|
| Re: crash version 4.0-4.7 is available |
  United States |
2007-09-26 10:40:37 |
On Wed, 2007-09-26 at 10:03 -0400, Dave Anderson wrote:
> Any results on or s390/s390x?
Great to have sial in crash! On s390/s390x it compiles with
the
following patch:
---
diff -Naurp crash-4.0-4.7/extensions/libsial/sial_api.h
crash-4.0-4.7-sial-fix-s390/extensions/libsial/sial_api.h
--- crash-4.0-4.7/extensions/libsial/sial_api.h 2007-09-25
17:01:56.000000000 +0200
+++
crash-4.0-4.7-sial-fix-s390/extensions/libsial/sial_api.h 20
07-09-26 17:30:58.000000000 +0200
 -13,6
+13,8 
#define ABI_MIPS 1
#define ABI_INTEL_X86 2
#define ABI_INTEL_IA 3
+#define ABI_S390 4
+#define ABI_S390X 5
/* types of variables */
#define V_BASE 1
diff -Naurp crash-4.0-4.7/extensions/sial.c
crash-4.0-4.7-sial-fix-s390/extensions/sial.c
--- crash-4.0-4.7/extensions/sial.c 2007-09-25
17:01:56.000000000 +0200
+++ crash-4.0-4.7-sial-fix-s390/extensions/sial.c 2007-09-26
17:31:05.000000000 +0200
 -807,17
+807,25  _init() /* Register the command set. */
/* set api, default size, and default sign for types */
#ifdef i386
#define SIAL_ABI ABI_INTEL_X86
-#else
+#else
#ifdef ia64
#define SIAL_ABI ABI_INTEL_IA
#else
#ifdef __x86_64__
#define SIAL_ABI ABI_INTEL_IA
#else
+#ifdef __s390__
+#define SIAL_ABI ABI_S390
+#else
+#ifdef __s390x__
+#define SIAL_ABI ABI_S390X
+#else
#error sial: Unkown ABI
#endif
#endif
#endif
+#endif
+#endif
sial_apiset(&icops, SIAL_ABI, sizeof(long), 0);
sial_version();
--
Crash-utility mailing list
Crash-utility redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
|
|
| Re: crash version 4.0-4.7 is available |
  United States |
2007-09-26 10:57:37 |
Michael Holzheu wrote:
> On Wed, 2007-09-26 at 10:03 -0400, Dave Anderson wrote:
>
>>Any results on or s390/s390x?
>
>
> Great to have sial in crash! On s390/s390x it compiles
with the
> following patch:
>
Michael, thanks for the test and patch.
Luc, this one is also looks OK, but maybe the ia64 patch
should use __ia64__, which is what the crash utility code
itself depends upon?
Thanks,
Dave
> ---
>
> diff -Naurp crash-4.0-4.7/extensions/libsial/sial_api.h
crash-4.0-4.7-sial-fix-s390/extensions/libsial/sial_api.h
> ---
crash-4.0-4.7/extensions/libsial/sial_api.h 2007-09-25
17:01:56.000000000 +0200
> +++
crash-4.0-4.7-sial-fix-s390/extensions/libsial/sial_api.h 20
07-09-26 17:30:58.000000000 +0200
>  -13,6 +13,8 
> #define ABI_MIPS 1
> #define ABI_INTEL_X86 2
> #define ABI_INTEL_IA 3
> +#define ABI_S390 4
> +#define ABI_S390X 5
>
> /* types of variables */
> #define V_BASE 1
> diff -Naurp crash-4.0-4.7/extensions/sial.c
crash-4.0-4.7-sial-fix-s390/extensions/sial.c
> --- crash-4.0-4.7/extensions/sial.c 2007-09-25
17:01:56.000000000 +0200
> +++
crash-4.0-4.7-sial-fix-s390/extensions/sial.c 2007-09-26
17:31:05.000000000 +0200
>  -807,17 +807,25  _init() /* Register the
command set. */
> /* set api, default size, and default sign for types
*/
> #ifdef i386
> #define SIAL_ABI ABI_INTEL_X86
> -#else
> +#else
> #ifdef ia64
> #define SIAL_ABI ABI_INTEL_IA
> #else
> #ifdef __x86_64__
> #define SIAL_ABI ABI_INTEL_IA
> #else
> +#ifdef __s390__
> +#define SIAL_ABI ABI_S390
> +#else
> +#ifdef __s390x__
> +#define SIAL_ABI ABI_S390X
> +#else
> #error sial: Unkown ABI
> #endif
> #endif
> #endif
> +#endif
> +#endif
> sial_apiset(&icops, SIAL_ABI, sizeof(long), 0);
>
> sial_version();
>
>
--
Crash-utility mailing list
Crash-utility redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
|
|
| Re: crash version 4.0-4.7 is available |
  United States |
2007-09-26 11:03:47 |
On Wed, 2007-09-26 at 10:03 -0400, Dave Anderson wrote:
> Any results on or s390/s390x?
I tried some of our s390 service scripts. It seems that sial
in crash
has some problems accessing kernel datatype information:
We have the following code in one of our sial scripts:
...
offset = offsetof(struct klist_node, n_node)
+
offsetof(struct device,
knode_driver) +
offsetof(struct subchannel, dev);
crash> devices
File /root/service/sial/devices.sial, line 171, Error:
Unknown member
name [n_node]
But crash knows that "struct klist_node" has
member n_node:
crash> whatis klist_node
struct klist_node {
struct klist *n_klist;
struct list_head n_node;
struct kref n_ref;
struct completion n_removed;
}
The same script works fine using lcrash.
Michael
--
Crash-utility mailing list
Crash-utility redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
|
|
|
|