> > On Oct 21, 2012, Borislav Petkov <b...@alien8.de> wrote: > > On Sun, Oct 21, 2012 at 11:59:36AM +0000, Artem S. Tashkinov wrote: > > http://imageshack.us/a/img685/9452/panicz.jpg > > > > list_del corruption. prev->next should be ... but was ... > > Btw, this is one of the debug options I told you to enable. > > > I cannot show you more as I have no serial console to use :( and the kernel > > doesn't have enough time to push error messages to rsyslog and fsync > > /var/log/messages > > I already told you how to catch that oops: boot with "pause_on_oops=600" > on the kernel command line and photograph the screen when the first oops > happens. This'll show us where the problem begins.
This option didn't have any effect, or maybe it's because it's such a serious crash the kernel has no time to actually print an ooops/panic message. dmesg messages up to a crash can be seen here: https://bugzilla.kernel.org/attachment.cgi?id=84221 I dumped them using this application: $ cat scat.c #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #define O_LARGEFILE 0100000 #define BUFFER 4096 #define __USE_FILE_OFFSET64 1 #define __USE_LARGEFILE64 1 int main(int argc, char *argv[]) { int fd_out; int64_t bytes_read; void *buffer; if (argc!=2) { printf("Usage is: scat destination\n"); return 1; } buffer = malloc(BUFFER * sizeof(char)); if (buffer == NULL) { printf("Error: can't allocate buffers\n"); return 2; } memset(buffer, 0, BUFFER); printf("Dumping to \"%s\" ... ", argv[1]); fflush(NULL); if ((fd_out = open64(argv[1], O_WRONLY | O_LARGEFILE | O_SYNC | O_NOFOLLOW, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) == -1) { printf("Error: destination file can't be created\n"); perror("open() "); return 2; } bytes_read = 1; while (bytes_read) { bytes_read = fread(buffer, sizeof(char), BUFFER, stdin); if (write(fd_out, (void *) buffer, bytes_read) != bytes_read) { printf("Error: can't write data to the destination file! Possibly a target disk is full\n"); return 3; } } close(fd_out); printf(" OK\n"); return 0; } I ran it this way: while :; do dmesg -c; done | scat /dev/sda11 (yes, straight to a hdd partition to eliminate a FS cache) Don't judge me harshly - I'm not a programmer. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html