Activity log for bug #1649718

Date Who What changed Old value New value Message
2016-12-13 23:02:51 Seth Forshee bug added bug
2016-12-13 23:02:51 Seth Forshee attachment added rtctest.c https://bugs.launchpad.net/bugs/1649718/+attachment/4791346/+files/rtctest.c
2016-12-14 01:15:47 Ryan Harper bug watch added https://bugzilla.redhat.com/show_bug.cgi?id=1184691
2016-12-14 21:42:56 Seth Forshee affects qemu (Ubuntu) linux (Ubuntu)
2016-12-14 21:42:56 Seth Forshee linux (Ubuntu): importance Undecided High
2016-12-14 21:42:56 Seth Forshee linux (Ubuntu): status New In Progress
2016-12-14 21:42:56 Seth Forshee linux (Ubuntu): assignee Seth Forshee (sforshee)
2016-12-14 21:43:14 Seth Forshee nominated for series Ubuntu Xenial
2016-12-14 21:43:14 Seth Forshee bug task added linux (Ubuntu Xenial)
2016-12-14 21:43:25 Seth Forshee linux (Ubuntu Xenial): importance Undecided High
2016-12-14 21:43:25 Seth Forshee linux (Ubuntu Xenial): status New In Progress
2016-12-14 21:43:25 Seth Forshee linux (Ubuntu Xenial): assignee Seth Forshee (sforshee)
2016-12-14 21:43:31 Seth Forshee linux (Ubuntu): status In Progress Fix Released
2017-01-23 17:18:50 Seth Forshee description ADT testing for the linux package hangs at the kernel's rtc selftest, for example: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-zesty/zesty/amd64/l/linux/20161212_132117_a258d@/log.gz Running this test manually, I've observed that this will hang in me with various kernel versions going back to 4.4 in a VM on my machine which is running xenial. The test runs to completion in a VM on a different machine running zesty. This is the section of the test which produces the hang: /* Turn on update interrupts (one per second) */ retval = ioctl(fd, RTC_UIE_ON, 0); if (retval == -1) { if (errno == EINVAL) { fprintf(stderr, "\n...Update IRQs not supported.\n"); goto test_READ; } perror("RTC_UIE_ON ioctl"); exit(errno); } fprintf(stderr, "Counting 5 update (1/sec) interrupts from reading %s:", rtc); fflush(stderr); for (i=1; i<6; i++) { /* This read will block */ retval = read(fd, &data, sizeof(unsigned long)); if (retval == -1) { perror("read"); exit(errno); } fprintf(stderr, " %d",i); fflush(stderr); irqcount++; } The read blocks indefinitely most of the time. After boot it might return once or twice before it hangs, but running the test subsequently always hangs on the first read. I'll attach the full source for the test (rtctest.c). == SRU Justification == Impact: A race in kvm can result in the EOI signal for the rtc irq to be lost. After this happens no more rtc interrupts will be delivered to the guest. Fix: Three upstream cherry picks which fix the problem. Regression Potential: These patches have been upstream since 4.6, so they're well-tested at this point. Thus regressions are unlikely. --- ADT testing for the linux package hangs at the kernel's rtc selftest, for example: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-zesty/zesty/amd64/l/linux/20161212_132117_a258d@/log.gz Running this test manually, I've observed that this will hang in me with various kernel versions going back to 4.4 in a VM on my machine which is running xenial. The test runs to completion in a VM on a different machine running zesty. This is the section of the test which produces the hang:         /* Turn on update interrupts (one per second) */         retval = ioctl(fd, RTC_UIE_ON, 0);         if (retval == -1) {                 if (errno == EINVAL) {                         fprintf(stderr,                                 "\n...Update IRQs not supported.\n");                         goto test_READ;                 }                 perror("RTC_UIE_ON ioctl");                 exit(errno);         }         fprintf(stderr, "Counting 5 update (1/sec) interrupts from reading %s:",                         rtc);         fflush(stderr);         for (i=1; i<6; i++) {                 /* This read will block */                 retval = read(fd, &data, sizeof(unsigned long));                 if (retval == -1) {                         perror("read");                         exit(errno);                 }                 fprintf(stderr, " %d",i);                 fflush(stderr);                 irqcount++;         } The read blocks indefinitely most of the time. After boot it might return once or twice before it hangs, but running the test subsequently always hangs on the first read. I'll attach the full source for the test (rtctest.c).
2017-01-31 17:26:17 Thadeu Lima de Souza Cascardo linux (Ubuntu Xenial): status In Progress Fix Committed
2017-02-09 22:01:59 Thadeu Lima de Souza Cascardo tags verification-needed-xenial
2017-02-15 19:25:00 Seth Forshee tags verification-needed-xenial verification-done-xenial
2017-02-20 07:42:07 Launchpad Janitor linux (Ubuntu Xenial): status Fix Committed Fix Released