Skip to main content



      Home
Home » Eclipse Projects » EGit / JGit » org.eclipse.egit.core.test results in java.io.IOException because of it could not delete files
org.eclipse.egit.core.test results in java.io.IOException because of it could not delete files [message #1814560] Fri, 13 September 2019 04:35 Go to next message
Eclipse UserFriend
I have set up Egit development environment on Windows 10, with the instructions https://wiki.eclipse.org/EGit/Contributor_Guide#Automated_Developer_Setup . I hve set Target Platform in Preferences to egit-4.11.

Then I have tried to run EGit Core Tests. I have launched org.eclipse.egit.core.test, but almost all test cases are failed or result in error with the stacktrace like below (see (A) and (B)).
Note: C:\home\satob\git is the root folder specified in the Eclipse installer, and C:\tmp\_System is the %TEMP% folder. Both folders are accessible from Eclipse (for example, I can save the log of console view to those folders).

What's wrong with my Eclipse environment, and how can I resolve these error?

(A)
java.io.IOException: Could not delete file C:\home\satob\git\egit-master\junit-workspace\.git\objects\4b\825dc642cb6eb9a060e54bf8d69288fbee4904
	at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:244)
	at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:194)
	at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:196)
	at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:196)
	at org.eclipse.egit.core.test.GitTestCase.setUp(GitTestCase.java:89)
	at org.eclipse.egit.core.test.op.RemoveFromIndexOperationTest.setUp(RemoveFromIndexOperationTest.java:49)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
	at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:232)
	at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:27)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:592)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:205)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:661)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1476)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1449)
Caused by: java.nio.file.AccessDeniedException: C:\home\satob\git\egit-master\junit-workspace\.git\objects\4b\825dc642cb6eb9a060e54bf8d69288fbee4904
	at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83)
	at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
	at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
	at sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
	at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:108)
	at java.nio.file.Files.deleteIfExists(Files.java:1165)
	at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:236)
	... 49 more

java.lang.NullPointerException
	at org.eclipse.egit.core.test.op.RemoveFromIndexOperationTest.tearDown(RemoveFromIndexOperationTest.java:67)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
	at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:232)
	at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:27)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:592)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:205)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:661)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1476)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1449)


(B)
java.lang.AssertionError: ERROR: Failed to delete C:\tmp\_System\jgit_test_1522817428697400636_tmp
	at org.junit.Assert.fail(Assert.java:88)
	at org.eclipse.jgit.junit.LocalDiskRepositoryTestCase.reportDeleteFailure(LocalDiskRepositoryTestCase.java:264)
	at org.eclipse.jgit.junit.LocalDiskRepositoryTestCase.recursiveDelete(LocalDiskRepositoryTestCase.java:253)
	at org.eclipse.jgit.junit.LocalDiskRepositoryTestCase.tearDown(LocalDiskRepositoryTestCase.java:213)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
	at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:232)
	at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:27)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:592)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:205)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:661)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1476)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1449)
Re: org.eclipse.egit.core.test results in java.io.IOException because of it could not delete files [message #1814571 is a reply to message #1814560] Fri, 13 September 2019 07:37 Go to previous messageGo to next message
Eclipse UserFriend
Can you try to run the tests using maven as described here [1]

There might be some issues with open file handles during test cleanup on Windows.
Most of the committers use Mac or Linux where deletion of files behaves different.
Nevertheless such issues should be fixed. If you want to contribute any fixes follow the
contributor guide [2].

[1] https://wiki.eclipse.org/EGit/Contributor_Guide#Maven_Build
[2] https://wiki.eclipse.org/EGit/Contributor_Guide#Contributing_Patches
Re: org.eclipse.egit.core.test results in java.io.IOException because of it could not delete files [message #1814572 is a reply to message #1814571] Fri, 13 September 2019 07:44 Go to previous messageGo to next message
Eclipse UserFriend
You can try to debug the failing test in Eclipse.
Select the failing test method and click:
- for tests in org.eclipse.egit.core.test: "Debug as > JUnit Plug-in Test"
- for UI tests: "Debug as > SWTBot Test"
- for JGit tests: "Debug as > JUnit Test".
Re: org.eclipse.egit.core.test results in java.io.IOException because of it could not delete files [message #1815042 is a reply to message #1814571] Tue, 24 September 2019 12:30 Go to previous messageGo to next message
Eclipse UserFriend
Thank you for your advice. I have tried the instruction [1], but which pom.xml should I use?
[1] https://wiki.eclipse.org/EGit/Contributor_Guide#Maven_Build

With egit-master\git\jgit\org.eclipse.jgit.test\pom.xml, I have encountered the error below:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:12 min (Wall Clock)
[INFO] Finished at: 2019-09-24T03:32:06+09:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project org.eclipse.jgit.test: Could not resolve dependencies for project org.eclipse.jgit:org.eclipse.jgit.test:jar:5.4.4-SNAPSHOT: The following artifacts could not be resolved: org.eclipse.jgit:org.eclipse.jgit:jar:5.4.4-SNAPSHOT, org.eclipse.jgit:org.eclipse.jgit.junit:jar:5.4.4-SNAPSHOT, org.eclipse.jgit:org.eclipse.jgit.junit.ssh:jar:5.4.4-SNAPSHOT, org.eclipse.jgit:org.eclipse.jgit.ui:jar:5.4.4-SNAPSHOT, org.eclipse.jgit:org.eclipse.jgit.pgm:jar:5.4.4-SNAPSHOT: Could not find artifact org.eclipse.jgit:org.eclipse.jgit:jar:5.4.4-SNAPSHOT in jgit-repository (https://repo.eclipse.org/content/repositories/jgit-releases/) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
Re: org.eclipse.egit.core.test results in java.io.IOException because of it could not delete files [message #1815277 is a reply to message #1815042] Sun, 29 September 2019 03:54 Go to previous messageGo to next message
Eclipse UserFriend
I have tried to execute a testcase org.eclipse.egit.core.synchronize.StagedChangeCacheTest.shouldListSingleWorkspaceChangeInFolder() with debug mode.
I got following tacktrace:
----------------------------------------------------------------
java.io.IOException: Could not delete file C:\tmp\_System\jgit_test_2333702422813854527_tmp\tmp_4651451306147374170\.git\objects\32\086a1bc4fbf81ac5becd7ec41b3cd4410bac23
at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:244)
at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:194)
at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:196)
at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:196)
at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:196)
at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:196)
at org.eclipse.jgit.junit.LocalDiskRepositoryTestCase.recursiveDelete(LocalDiskRepositoryTestCase.java:251)
at org.eclipse.jgit.junit.LocalDiskRepositoryTestCase.access$0(LocalDiskRepositoryTestCase.java:242)
at org.eclipse.jgit.junit.LocalDiskRepositoryTestCase$CleanupThread.run(LocalDiskRepositoryTestCase.java:645)
Caused by: java.nio.file.AccessDeniedException: C:\tmp\_System\jgit_test_2333702422813854527_tmp\tmp_4651451306147374170\.git\objects\32\086a1bc4fbf81ac5becd7ec41b3cd4410bac23
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
at sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:108)
at java.nio.file.Files.deleteIfExists(Files.java:1165)
at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:236)
... 8 more
----------------------------------------------------------------

In sun.nio.fs.WindowsFileSystemProvider.implDelete(), it finally called sun.nio.fs.WindowsNativeDispatcher.DeleteFile0(long), and DeleteFile0 returned sun.nio.fs.WindowsException.
On the other hand, DeleteFile0() finished successfully with other files, e.g. C:\tmp\_System\jgit_test_2333702422813854527_tmp\tmp_4651451306147374170\.git\COMMIT_EDITMSG or C:\tmp\_System\jgit_test_2333702422813854527_tmp\tmp_4651451306147374170\.git\logs\refs\heads\master.

I can delete the files in the objects folder from Windows Explorer without any error, so it doesn't look caused by file permission.
Re: org.eclipse.egit.core.test results in java.io.IOException because of it could not delete files [message #1815280 is a reply to message #1815277] Sun, 29 September 2019 05:07 Go to previous messageGo to next message
Eclipse UserFriend
Yes, I've seen similar problems like this on Windows in the IDE itself. E.g., I often cannot delete a repository from the view when trying to delete the repo itself along with the working tree from the file system This fails with an exception just like this one. And in fact, if the IDE is running still, and I try to delete the file or entire folder using the Windows Explorer, it doesn't delete there either. So something has a lock (or an open write handle) on some file which therefore cannot be deleted. I need to close the IDE to be able to delete the entire repo from the file system. This behavior is likely very quite specific to Windows, i.e., I suspect on Linux you can delete a file while something else has it "open" or even an "open for writing" so folks working on Linux might never see such a problem. And what I see in the IDE I suppose is likely to occur in tests when running on Windows...
Re: org.eclipse.egit.core.test results in java.io.IOException because of it could not delete files [message #1815328 is a reply to message #1815280] Mon, 30 September 2019 12:23 Go to previous messageGo to next message
Eclipse UserFriend
On further inspection, I got additional information. But I couldn't resolve the problem...

  • The message of sun.nio.fs.WindowsException is "アクセスが拒否されました。" ("Access denied" in Japanese).
  • Error code of WindowsException is 5: it means ERROR_ACCESS_DENIED in Windows.
  • With the Windows Resource Monitor, there was no process that opened the file C:\tmp\_System\jgit_test_7684129494104506716_tmp\tmp_4785943837739500970\.git\objects\32\086a1bc4fbf81ac5becd7ec41b3cd4410bac23.

Re: org.eclipse.egit.core.test results in java.io.IOException because of it could not delete files [message #1815596 is a reply to message #1815328] Sun, 06 October 2019 14:27 Go to previous message
Eclipse UserFriend
We found that file leak detector [1] can help to track down such issues typically caused by some file handle not being closed.
On Windows files cannot be deleted if some process keeps a file handle open.

[1] http://file-leak-detector.kohsuke.org/
Previous Topic:Username/password popup despite SSH2 auth set up
Next Topic:Clone error - non ASCII chars on file name
Goto Forum:
  


Current Time: Thu Jul 03 06:00:12 EDT 2025

Powered by FUDForum. Page generated in 0.11812 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top