summaryrefslogtreecommitdiffstats
path: root/lib/Plugins
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-02-23 18:55:05 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2010-02-23 18:55:05 +0100
commit556fb0e4ae095dd6df8d0105afc44cb5f1a2c62b (patch)
treeea0ec403b4dfb99f7d1b728815abcf8d44e36cf8 /lib/Plugins
parenta15859d86df70b551331eb188edea11d73dd3038 (diff)
downloadabrt-556fb0e4ae095dd6df8d0105afc44cb5f1a2c62b.tar.gz
abrt-556fb0e4ae095dd6df8d0105afc44cb5f1a2c62b.tar.xz
abrt-556fb0e4ae095dd6df8d0105afc44cb5f1a2c62b.zip
partial fix for bz#565983
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'lib/Plugins')
-rw-r--r--lib/Plugins/KerneloopsSysLog.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Plugins/KerneloopsSysLog.cpp b/lib/Plugins/KerneloopsSysLog.cpp
index e6de84aa..29e9d6f3 100644
--- a/lib/Plugins/KerneloopsSysLog.cpp
+++ b/lib/Plugins/KerneloopsSysLog.cpp
@@ -127,6 +127,9 @@ int extract_oopses(vector_string_t &oopses, char *buffer, size_t buflen)
/* in /var/log/messages, we need to strip the first part off, upto the 3rd ':' */
/* 01234567890123456 */
+// Gaack! Some users run syslog in non-C locale:
+// 2010-02-22T09:24:08.156534-08:00 gnu-4 gnome-session[2048]: blah blah
+// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ !!!
if ((c9 - c) > sizeof("Jul 4 11:11:11 ")
&& c[3] == ' '
&& (c[4] == ' ' || isdigit(c[4]))
@@ -234,7 +237,7 @@ next_line:
oopsstart = i;
else if (strstr(curline, "NETDEV WATCHDOG"))
oopsstart = i;
- else if (strstr(curline, "WARNING:")
+ else if (strstr(curline, "WARNING: at ") /* WARN_ON() generated message */
&& !strstr(curline, "appears to be on the same physical disk")
) {
oopsstart = i;
@@ -317,7 +320,7 @@ next_line:
else if (strstr(curline, "Instruction dump:"))
oopsend = i;
/* if a new oops starts, this one has ended */
- else if (strstr(curline, "WARNING: at ") && oopsstart != i) /* WARN_ON() generated messages */
+ else if (strstr(curline, "WARNING: at ") && oopsstart != i) /* WARN_ON() generated message */
oopsend = i-1;
else if (strstr(curline, "Unable to handle") && oopsstart != i)
oopsend = i-1;