Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File Descriptor Leak in DetektExtension.kt #6518

Closed
pablobaxter opened this issue Sep 29, 2023 · 0 comments · Fixed by #6519
Closed

File Descriptor Leak in DetektExtension.kt #6518

pablobaxter opened this issue Sep 29, 2023 · 0 comments · Fixed by #6519
Labels

Comments

@pablobaxter
Copy link
Contributor

Expected Behavior

All file handlers should be closed upon completion

Observed Behavior

DetektExtension.kt is leaking a file descriptor from https://github.com/detekt/detekt/blob/7a9d960a4dee04d70267a320b1d988004988eed2/detekt-gradle-plugin/src/main/kotlin/io/gitlab/arturbosch/detekt/extensions/DetektExtension.kt#L68C31-L68C45

The following stacktrace was captured after running an evaluation on a local build that uses Detekt several times. Each time, a new file descriptor is opened.

#1318 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:00:46 PDT 2023
#1374 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:42 PDT 2023
#1316 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:00:46 PDT 2023
#1373 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:42 PDT 2023
#1351 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:28 PDT 2023
#1309 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:00:35 PDT 2023
#1324 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:03 PDT 2023
#1311 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:00:35 PDT 2023
#1375 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:42 PDT 2023
#1358 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:33 PDT 2023
#1310 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:00:35 PDT 2023
#1357 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:33 PDT 2023
#1326 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:03 PDT 2023
#1366 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:37 PDT 2023
#1350 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:28 PDT 2023
#1308 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:00:35 PDT 2023
#1319 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:00:46 PDT 2023
#1359 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:33 PDT 2023
#1356 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:33 PDT 2023
#1325 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:03 PDT 2023
#1327 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:03 PDT 2023
#1332 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:19 PDT 2023
#1342 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:24 PDT 2023
#1348 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:28 PDT 2023
#1367 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:37 PDT 2023
#1364 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:37 PDT 2023
#1365 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:37 PDT 2023
#1343 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:24 PDT 2023
#1333 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:19 PDT 2023
#1334 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:19 PDT 2023
#1335 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:19 PDT 2023
#1340 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:24 PDT 2023
#1341 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:24 PDT 2023
#1372 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:42 PDT 2023
#1317 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:00:46 PDT 2023
#1349 /Users/pablobaxter/.gradle/caches/jars-9/3842d3315a8876c1da5d384624c3ec8c/detekt-gradle-plugin-1.23.0.jar by thread:Daemon worker Thread 2 on Fri Sep 29 14:01:28 PDT 2023
	at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:173)
	at java.base/java.util.jar.JarFile.<init>(JarFile.java:347)
	at java.base/sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:103)
	at java.base/sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:72)
	at java.base/sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:168)
	at java.base/sun.net.www.protocol.jar.JarFileFactory.getOrCreate(JarFileFactory.java:91)
	at java.base/sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:132)
	at java.base/sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:175)
	at io.gitlab.arturbosch.detekt.extensions.DetektExtensionKt.openSafeStream(DetektExtension.kt:159)
	at io.gitlab.arturbosch.detekt.extensions.DetektExtensionKt.loadDetektVersion(DetektExtension.kt:136)
	at io.gitlab.arturbosch.detekt.extensions.DetektExtension.<init>(DetektExtension.kt:17)
	at io.gitlab.arturbosch.detekt.extensions.DetektExtension_Decorated.<init>(Unknown Source)
	...
	at io.gitlab.arturbosch.detekt.DetektPlugin.apply(DetektPlugin.kt:18)
	at io.gitlab.arturbosch.detekt.DetektPlugin.apply(DetektPlugin.kt:13)

Context

I'm currently looking for plugins that are leaking file descriptors, as I am running into an issue on MacOS where too many file descriptors are being opened, causing Gradle to not complete tasks or builds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant