# StackOverflowError at DefaultInputComponent.equals

**URL:** <https://community.sonarsource.com/t/stackoverflowerror-at-defaultinputcomponent-equals/20324>\
**Category:** SonarQube Server / Community Build\
**Created:** [February 19, 2020, 2:14am UTC](https://community.sonarsource.com/t/stackoverflowerror-at-defaultinputcomponent-equals/20324 "2020-02-19T02:14:53Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![Andrew\_Swan](https://dub1.discourse-cdn.com/sonarsource/user_avatar/community.sonarsource.com/andrew_swan/32/9395_2.png) [@Andrew\_Swan](https://community.sonarsource.com/u/Andrew_Swan)\
**Post date:** [February 20, 2020, 12:03am UTC](https://community.sonarsource.com/t/stackoverflowerror-at-defaultinputcomponent-equals/20324/5 "2020-02-20T00:03:28Z")

</div>

I figured it out after attaching my debugger. I have a multi-module Maven project, and in the root POM I had set the property `<sonar.projectKey>foo</sonar.projectKey>`, which then propagated into the sub-modules, of course. When `WorkDirectoriesInitializer.cleanAllWorkingDirs` went to recurse through the project, it calculated a key for each module, but it did this by reading the `sonar.projectKey` property. Because this had the same value for every module, the recursion never completed and the stack overflowed.

The fix in my case (which I found on StackOverflow, of course) was to add `<sonar.moduleKey>${project.artifactId}</sonar.moduleKey>` to the root POM, which evaluates to a different value for each sub-module and thereby allows the recursion to complete.

---

_[View the full topic](https://community.sonarsource.com/t/stackoverflowerror-at-defaultinputcomponent-equals/20324)._
