Myrna van Lunteren wrote:
Hi,

I see fairly regular failures caused by a failure in cleaning up
extinout/t1.dat in the nightly tests run at IBM, see for example:
http://people.apache.org/~fuzzylogic/derby_test_results/main/derbymain/testSummary-609084.html

I am wondering if anyone has any suggestions on how to debug or even
solve these...?
Since it seems to be failing only on Windows, it is likely caused by Derby having an open handle to that file, which would prevent it from being deleted om Windows. The problematic subtest is run twice (embedded and networkserver). The test fails as in DERBY-3068 if an open handle is kept after the first run of the subtest and the second run stumbles into this when it first tries to export to that same file. The test fails as in DERBY-2636 if an open handle is kept after either of the subtests when the DropDatabaseSetup tries to clean up. Since it happens when the second run of the subtest first tries to access the file again, I am guessing the problem is triggered by something in the subtest that happens after the last export statement to that file, or that statement would have failed for the same reason. After the last export using that file there is a number of import statements using that file that are expected to fail, I am guessing one or more of these can trigger the problem or it is the last export.

One way to debug (as the failure seems easily reproducible) would be to just remove the import statements at the end of the subtest (testImportExportProcedureNegative) and see if that removes the problem, and then try to narrow down exactly what statement triggers the handle leak. That might get you close enough to start looking at why that leaves an open file handle when running on some jvms.

Vemund

Reply via email to