# ElasticsearchException getRootCause infinite loop

**URL:** <https://discuss.elastic.co/t/elasticsearchexception-getrootcause-infinite-loop/149076>\
**Category:** Elasticsearch\
**Created:** [September 19, 2018, 8:02am UTC](https://discuss.elastic.co/t/elasticsearchexception-getrootcause-infinite-loop/149076 "2018-09-19T08:02:48Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![bdelbosc](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/bdelbosc/32/32980_2.png) [@bdelbosc](https://discuss.elastic.co/u/bdelbosc)\
**Post date:** [September 19, 2018, 8:02am UTC](https://discuss.elastic.co/t/elasticsearchexception-getrootcause-infinite-loop/149076/1 "2018-09-19T08:02:48Z")

</div>

Hi,

The [ElasticsearchException#getRootCause](https://github.com/elastic/elasticsearch/blob/master/server/src/main/java/org/elasticsearch/ElasticsearchException.java#L264) can result in an infinite loop if there is cycle in the causes.  
We run into such case because the ElasticsearchException was serialized at some point in our code.

For information a correct implementation of this method is done on apache common lib [ExceptionUtils#getRootCause](https://github.com/apache/commons-lang/blob/master/src/main/java/org/apache/commons/lang3/exception/ExceptionUtils.java#L184).

Let me know if it worths filling an issue.

Regards  
ben

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [September 20, 2018, 12:15pm UTC](https://discuss.elastic.co/t/elasticsearchexception-getrootcause-infinite-loop/149076/2 "2018-09-20T12:15:13Z")

</div>

yes, please do so. Also if you got a reproduction please attach it.

Thanks a lot!

--Alex

---

<div class="post-metadata">

**Author:** ![bdelbosc](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/bdelbosc/32/32980_2.png) [@bdelbosc](https://discuss.elastic.co/u/bdelbosc)\
**Post date:** [September 21, 2018, 7:33am UTC](https://discuss.elastic.co/t/elasticsearchexception-getrootcause-infinite-loop/149076/3 "2018-09-21T07:33:01Z")

</div>

Issue created: [https://github.com/elastic/elasticsearch/issues/33930](https://github.com/elastic/elasticsearch/issues/33930)  
with a PR: [https://github.com/elastic/elasticsearch/pull/33932](https://github.com/elastic/elasticsearch/pull/33932)

ben

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [October 19, 2018, 7:33am UTC](https://discuss.elastic.co/t/elasticsearchexception-getrootcause-infinite-loop/149076/4 "2018-10-19T07:33:07Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
