Community
Participate
Working Groups
http://download.eclipse.org/eclipse/downloads/drops4/I20131022-1300/testresults/html/org.eclipse.swt.tests_macosx.cocoa.x86_5.0.html org.eclipse.swt.tests.junit.browser.Test_BrowserSuite#Browser1() times out on Mac (takes 6910.674s). Was OK in I20131015-0800. Consolelog for AllCocoaTests only says: [java] ImageIO: <ERROR> PNG Invalid IHDR data See bug 417928 comment 7 for a possible explanation why the test is still green (infrastructure kicks hanging test).
Can this test be disabled for now? I think it is interfering with "overall Hudson" performance and therefore (might) be interfering with other projects.
Please either fix this asap or disable the test. It delays our test and overloads Hudson. Thanks.
Happened again in N20131024-2000. Disabled Browser1 test on Mac with http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=8fbc959aef2669dd6e0968ec4b6f32974f4bcd56 See bug 420365 for a possible reason. However, that doesn't explain why all other browser tests complete in a reasonable time. And the timeout screenshots also don't show a dialog (actually no window at all).
I ran this locally several times and Browser1 test completes without any delay. Also, there has been no recent change in the area.
Created attachment 236899 [details] System.err.flush() in EclipseTestRunner I also couldn't reproduce locally on 10.8 with 1.7.0_45. The test results page says it ran on 10.7.5 with 1.7.0_25. The consolelog says after the "swt:" label: [java] INFO: timeoutScreenOutputDir: /Users/hudsonBuild/workspace/ep4-unit-mac64/workarea/N20131024-2000/eclipse-testing/results/macosx.cocoa.x86_5.0/timeoutScreens [java] INFO: timeout: 7200000 [java] starting EclipseTestRunnerTimer with timeout=7080000 at 2013-10-24 22:07:03 -0400 [java] ImageIO: <ERROR> PNG Invalid IHDR data [java] ImageIO: <ERROR> PNG Invalid IHDR data This output should not be possible! The EclipseTestRunner prints "starting EclipseTestRunnerTimer [..]" and then starts the TimerTask that will dump stack traces and take screenshots. The dump(..) method should print "EclipseTestRunner almost reached timeout [..]", then print all stack traces, and finally do a syncExec and create screenshots. The screenshots are actually created, so the only explanation I have is that the System.err buffer gets lost when OS X prints the "ImageIO: <ERROR> [..]" line. David or Dani, please release the attached patch, so that we hopefully get more information.
(In reply to Markus Keller from comment #5) > Created attachment 236899 [details] [diff] > System.err.flush() in EclipseTestRunner Fixed with http://git.eclipse.org/c/platform/eclipse.platform.releng.git/commit/?id=0b1239d15c7efaf4e407e6c905b15568339cf211 Sorry, I forgot to set you as author.
(In reply to Dani Megert from comment #6) > Sorry, I forgot to set you as author. NP, as long as this doesn't lower my chances of becoming a platform.releng committer eventually... I've re-enabled the test, so that we can see whether this reveals more infos: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=bccc68c5828d2c053f6e7cbaa816077c400ed3cc
(In reply to Markus Keller from comment #7) > (In reply to Dani Megert from comment #6) > > Sorry, I forgot to set you as author. > > NP, as long as this doesn't lower my chances of becoming a platform.releng > committer eventually... > > > I've re-enabled the test, so that we can see whether this reveals more > infos: > http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/ > ?id=bccc68c5828d2c053f6e7cbaa816077c400ed3cc Googling around, a little, reminded me we had to specify a special location for "crash log" for Macs ... currently says: # https://bugs.eclipse.org/bugs/show_bug.cgi?id=392213 # If this property is set, the actual location and file name # is computed at test time, but this is assumed to be the # VM argument required to specify that location. loglocationarg=-XX:ErrorFile Think that's now invalid, or anything? (On Oracle's u25?)
(In reply to David Williams from comment #8) > loglocationarg=-XX:ErrorFile > > Think that's now invalid, or anything? (On Oracle's u25?) I don't know, haven't had a VM crash on the Mac for quite a while. Bug 392594 comment 5 also doesn't crash any more. For this bug, I'm pretty sure there's no VM crash involved: - no message about a crash in the consolelog - all tests terminate, including the hung browser test and subsequent tests - screenshot files exist and are readable, which proves that dump(..) has been executed two times
In N20131026-1500, the run time of Browser1 was back to normal (2.802s). I've left it enabled for now, but will turn off as soon as we run into the timeout again. Interestingly, the log still says: [java] starting EclipseTestRunnerTimer with timeout=7080000 at 2013-10-26 17:08:08 -0400 [java] ImageIO: <ERROR> PNG Invalid IHDR data [java] ImageIO: <ERROR> PNG Invalid IHDR data That means the last two lines have nothing to do with the timeout screenshots. They must have been created by other tests, probably Test_org_eclipse_swt_graphics_Image, which seems to test invalid images.
Was normal again in I20131027-2130. Closing this bug until it appears again (hopefully with more information).
(In reply to Markus Keller from comment #5) > This output should not be possible! The EclipseTestRunner prints "starting > EclipseTestRunnerTimer [..]" and then starts the TimerTask that will dump > stack traces and take screenshots. The dump(..) method should print > "EclipseTestRunner almost reached timeout [..]", then print all stack > traces, and finally do a syncExec and create screenshots. > > The screenshots are actually created, so the only explanation I have is that > the System.err buffer gets lost when OS X prints the "ImageIO: <ERROR> > [..]" line. At least on GTK, there are scenarios where an endless native loop in the main thread also blocks output to System.err (bug 502410). After bug 506304, the EclipseTestRunner now prints to both System.err and System.out.