Confirm that early-exit works when nested filters hit the instancing limit
This sample file uses many nested filters. It takes a while to render, then eventually hits the instancing limit, and exits like this (when run with RSVG_LOG=1
):
element g id=source-5 will not be filtered with "#filter-remove-color": maximum number of references exceeded
element g id=None will not be filtered with "#filter-remove-color": maximum number of references exceeded
(rendered filter primitive feImage in
0.000219736 seconds)
could not resolve paint server "#linear-pattern-0", no alternate color specified
(rendered filter primitive feImage in
0.000024903 seconds)
(rendered filter primitive feComposite in
0.000012728 seconds)
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
element g id=compositing-group-4 references nonexistent mask "#mask-2"
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-1", no alternate color specified
(rendered filter primitive feImage in
0.000430382 seconds)
(rendered filter primitive feComposite in
0.000012269 seconds)
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
element g id=compositing-group-9 references nonexistent mask "#mask-6"
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-2", no alternate color specified
(rendered filter primitive feImage in
0.000817854 seconds)
element g id=compositing-group-11 references nonexistent mask "#mask-11"
(rendered filter primitive feImage in
0.000027872 seconds)
(rendered filter primitive feComposite in
0.000014077 seconds)
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
element g id=compositing-group-14 references nonexistent mask "#mask-10"
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-3", no alternate color specified
(rendered filter primitive feImage in
0.001008246 seconds)
element g id=compositing-group-16 references nonexistent mask "#mask-15"
(rendered filter primitive feImage in
0.00003081 seconds)
(rendered filter primitive feComposite in
0.000014165 seconds)
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
element g id=compositing-group-19 references nonexistent mask "#mask-14"
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-4", no alternate color specified
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-5", no alternate color specified
(rendered filter primitive feImage in
0.013664856 seconds)
(rendered filter primitive feComposite in
0.000014334 seconds)
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
element g id=compositing-group-29 references nonexistent mask "#mask-20"
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-6", no alternate color specified
(rendered filter primitive feImage in
0.013979969 seconds)
element g id=compositing-group-31 references nonexistent mask "#mask-24"
(rendered filter primitive feImage in
0.000035273 seconds)
(rendered filter primitive feComposite in
0.000013305 seconds)
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
element g id=compositing-group-34 references nonexistent mask "#mask-23"
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-7", no alternate color specified
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-8", no alternate color specified
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-9", no alternate color specified
(rendered filter primitive feImage in
0.317506515 seconds)
(rendered filter primitive feComposite in
0.000015169 seconds)
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
element g id=compositing-group-49 references nonexistent mask "#mask-32"
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-10", no alternate color specified
(rendered filter primitive feImage in
0.317790962 seconds)
element g id=compositing-group-51 references nonexistent mask "#mask-36"
(rendered filter primitive feImage in
0.000034552 seconds)
(rendered filter primitive feComposite in
0.000013206 seconds)
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
element g id=compositing-group-54 references nonexistent mask "#mask-35"
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-11", no alternate color specified
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-12", no alternate color specified
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-13", no alternate color specified
(rendered filter primitive feImage in
5.25426803 seconds)
(rendered filter primitive feComposite in
0.000014823 seconds)
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
element g id=compositing-group-69 references nonexistent mask "#mask-44"
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-14", no alternate color specified
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
could not resolve paint server "#linear-pattern-15", no alternate color specified
(rendered filter primitive feImage in
18.621091966 seconds)
element g id=compositing-group-76 references nonexistent mask "#mask-51"
(rendered filter primitive feImage in
0.000033741 seconds)
(rendered filter primitive feComposite in
0.000014005 seconds)
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
element g id=compositing-group-79 references nonexistent mask "#mask-50"
(filter primitive feImage returned an error: Rendering error: exceeded more than 500000 referenced elements)
(filter primitive feComposite returned an error: invalid value of the `in` attribute)
So, I'm not sure if that is a chain of nested filters, each exiting with the same error, or if the whole thing tried to keep rendering after hitting the limit the first time.
Maybe we should log once, when the limit is first hit, and not log every time a filter exits to its caller.