[
https://issues.apache.org/jira/browse/IGNITE-602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15983080#comment-15983080
]
Ryabov Dmitrii commented on IGNITE-602:
---------------------------------------
[~agura], the main idea is to call GridToStringBuilder.toString(...) inside of
GridToStringBuilder.toString(...) instead of obj.toString() method. It is the
only way to prevent infinite loops of toString() inside of toString() which are
uncontolled by GridToStringBuilder.
I made some changes, so your example works too. Can you look it?
> [Test] GridToStringBuilder is vulnerable for StackOverflowError caused by
> infinite recursion
> --------------------------------------------------------------------------------------------
>
> Key: IGNITE-602
> URL: https://issues.apache.org/jira/browse/IGNITE-602
> Project: Ignite
> Issue Type: Bug
> Components: general
> Reporter: Artem Shutak
> Assignee: Ryabov Dmitrii
> Labels: Muted_test
> Fix For: 2.1
>
>
> See test
> org.gridgain.grid.util.tostring.GridToStringBuilderSelfTest#_testToStringCheckAdvancedRecursionPrevention
> and related TODO in same source file.
> Also take a look at
> http://stackoverflow.com/questions/11300203/most-efficient-way-to-prevent-an-infinite-recursion-in-tostring
> Test should be unmuted on TC after fix.
> see GG-5000.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)