<svg xmlns="http://www.w3.org/2000/svg">
<g>
    <linearGradient>
        <stop id="stop"/>
    </linearGradient>
</g>
<g>
    <defs>
        <filter id="filter"/>
    </defs>

    <mask id="mask">
        <g filter="url(#filter)">
            <linearGradient id="gradient"/>
            <path fill="url(#gradient)" d="M147.231,26.23c70.188,0,127.086,57.77,127.086,129.032c0"/>
        </g>
    </mask>

    <path mask="url(#mask)" d="M147.231,26.23c70.188,0,127.086,57.77,127.086,129.032"/>
</g>

<text>PASS, if it doesn't crash.</text>
<script><![CDATA[
if (window.testRunner)
    testRunner.dumpAsText();
range = document.createRange();
range.setStartBefore(document.getElementById("stop"));
range.insertNode(document.getElementById("mask"));

/* What does this do? It moves the whole <mask> element as child of the <linearGradient>.
The final DOM looks like:

<g>
    <linearGradient>
        <mask id="mask">
            <g filter="url(#filter)">
                <linearGradient id="gradient"/>
                <path fill="url(#gradient)" d="..."/>
            </g>
        </mask>
        <stop id="stop"/>
    </linearGradient>
</g>
<g>
    <defs>
        <filter id="filter"/>
    </defs>
    <path mask="url(#mask)" d="...."/>
</g>
*/
]]></script>
</svg>
