Display text field from Matrix of an Entry Field in Matrix
There's a couple of problems with your current code – for one, you're (as Brad mentions in the comments above) doing some variable overwriting by reusing the entry and block names. Also, you're attempting to do a for loop on the result from a call to first(), which won't work (first() returns a single element, not an array).

In any case, I'd suggest getting rid of all the for loops (you're looping on a resultset with a single element in each of your inner loops), in an attempt to make the code a tad more clear.

Something like this should work:

{% for entry in craft.entries.section('sectionHandle') %}
    {% set outerBlock = entry.matrixHandle.first() %}
    {% set outerBlockEntry = outerBlock ? outerBlock.entryFieldMatrixHandle.first() %}
    {% set innerBlock = outerBlockEntry ? outerBlockEntry.entrysMatrixHandle.first() %}
    {{ innerBlock ? innerBlock.fieldHandle }}
{% endfor %}


That's a lot of {% set %} statements, though – you could also do this (although I'm honestly not sure which option is more readable):

{% for entry in craft.entries.section('sectionHandle') %}
    {% set block = entry.matrixHandle.first().entryFieldMatrixHandle.first().entrysMatrixHandle.first()|default %}
    {{ block ? block.fieldHandle }}
{% endfor %}


Finally, as an alternative approach altogether you could use the relatedTo param:

{% for entry in craft.entries.section('sectionHandle') %}

    {% set block = craft.entries.relatedTo({
        sourceElement: entry.matrixHandle.first(),
        field: 'entryFieldMatrixHandle'
    }).first().entrysMatrixHandle.first()|default %}

    {{ block ? block.fieldHandle }}

{% endfor %}


None of the above examples are tested, and now my head hurts – but hopefully it'll prove helpful :)