While I was working on a multi-layer fractal, one of the layers stopped working. Zooming and panning don't trigger a re-draw.

I removed the other layers, reset the location to default, removed transform, reset fractal, inside and outside all to default, saved, closed and re-opened UF6, loaded, and it's still dead.

Have a look.

https://drive.google.com/file/d/1ZzzPToBLIJ1iM0JV3nmrH9-aBR_L9z9L#dead-layer.ufr

While I was working on a multi-layer fractal, one of the layers stopped working. Zooming and panning don't trigger a re-draw. I removed the other layers, reset the location to default, removed transform, reset fractal, inside and outside all to default, saved, closed and re-opened UF6, loaded, and it's still dead. Have a look. https://drive.google.com/file/d/1ZzzPToBLIJ1iM0JV3nmrH9-aBR_L9z9L#dead-layer.ufr
edited Jun 4 at 3:16 pm
 
0
reply

The Coloring tab is set to None. If I change that, I get an image.

The Coloring tab is set to None. If I change that, I get an image.
 
0
reply

I did what you describe but I still don't get an image. Tried changing "Inside" and "Outside" and several standard and custom formulas.

I did what you describe but I still don't get an image. Tried changing "Inside" and "Outside" and several standard and custom formulas.
 
0
reply

I loaded dead-layer.ufr into UF. When I clicked on the Browse button to the right of (None) on the Outside tab, various images showed in the preview pane. But when I changed the coloring to Mandelbrot from Standard.ucl, the image was still blank.

I saved it to a upr file and reloaded it in UF and got an appropriate image. Definitely strange. I always save as upr files and have never used ufr files, so maybe there's something strange about them.

Here's the upr:
/>dead-layer {
fractal:
title="dead-layer" width=2304 height=1728 layers=1 frames=144 fps=1
credits="Mark Jeronimus;6/4/2026"
layer:
caption="Layer 2" opacity=100 mergemode=darken
mapping:
center=-0.5/0 magn=1
formula:
maxiter=100000 perturbprecision=veryfast filename="Standard.ufm"
entry="Mandelbrot" p_start=0/0 p_power=2/0 p_bailout=1e10
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=no rotation=1 index=0 color=0 index=399 color=16777215
opacity:
smooth=no index=0 opacity=255
}

I loaded dead-layer.ufr into UF. When I clicked on the Browse button to the right of (None) on the Outside tab, various images showed in the preview pane. But when I changed the coloring to Mandelbrot from Standard.ucl, the image was still blank. I saved it to a upr file and reloaded it in UF and got an appropriate image. Definitely strange. I always save as upr files and have never used ufr files, so maybe there's something strange about them. Here's the upr: dead-layer { fractal: title="dead-layer" width=2304 height=1728 layers=1 frames=144 fps=1 credits="Mark Jeronimus;6/4/2026" layer: caption="Layer 2" opacity=100 mergemode=darken mapping: center=-0.5/0 magn=1 formula: maxiter=100000 perturbprecision=veryfast filename="Standard.ufm" entry="Mandelbrot" p_start=0/0 p_power=2/0 p_bailout=1e10 inside: transfer=none outside: transfer=linear gradient: smooth=no rotation=1 index=0 color=0 index=399 color=16777215 opacity: smooth=no index=0 opacity=255 }
 
0
reply

It's not an issue with the ufr format, except maybe that it too faithfully stores the internal application state.

The issue happened while I was working on a fractal that started out as a default parameter. I only saved after the corruption occurred, and loading it surprisingly maintains the corruption. I may have skimmed over this fact in the OP.

It's not an issue with the ufr format, except maybe that it too faithfully stores the internal application state. The issue happened while I was working on a fractal that started out as a default parameter. I only saved _after_ the corruption occurred, and loading it surprisingly maintains the corruption. I may have skimmed over this fact in the OP.
 
0
reply

It just happened again.

https://drive.google.com/file/d/1hTHpjvLv5vhW_4tlZ82VvxVc_keJsZqR/view#dead-layer2.ufr

I was only using a combination of mouse panning, mouse zooming, and keyboard zooming. Things I do thousands of times without problems.

It just happened again. https://drive.google.com/file/d/1hTHpjvLv5vhW_4tlZ82VvxVc_keJsZqR/view#dead-layer2.ufr I was only using a combination of mouse panning, mouse zooming, and keyboard zooming. Things I do thousands of times without problems.
edited Aug 2 at 1:38 pm
 
0
reply

Hi Mark,

The UFR indeed contains a corrupt state and that is restored when you load it, and prevents UF from starting a calculation. One way to get out of this state is by copying the UPR to the clipboard, closing UF, reopening it, and then pasting again.

The question is: how UF did get into this state? It's probably a quite random combination of actions that triggers it, I'm afraid.

Hi Mark, The UFR indeed contains a corrupt state and that is restored when you load it, and prevents UF from starting a calculation. One way to get out of this state is by copying the UPR to the clipboard, closing UF, reopening it, and then pasting again. The question is: how UF did get into this state? It's probably a quite random combination of actions that triggers it, I'm afraid.

Ultra Fractal author

 
0
reply

It happened again in a slightly different way. Instead of the layer refusing to render, it kept rendering the same thing, and changing any setting didn't change the outcome or even restart the layer render. It just kept crunching. Ctrl+Z caused crash-to-desktop (not even the usual crash recovery dialog). This is also new and didn't happen other times.

One thing I need to mention, all these 'corrupt layers' started to happen after I wrote and started using a certain transformation by default on a stack of 5 layers:

mjdTieredRendering { ; 2026-04-28
; Made by Mark Jeronimus <mark.jeronimus+ultrafractal.com@gmail.com>.
; CC BY-NC-SA 4.0 (Give credit, Don't make money, Same license, No liability)
global:
  import "common.ulb"
  ; $DEFINE DEBUG

  float halfWidth  = #width / 2
  float halfHeight = #height / 2

  float areaSteps = @tiers
  float areaStep1 = @tier - 1
  float areaStep2 = @tier
  if @factor > 1
    float areaSteps = (@factor ^ areaSteps - 1) / (@factor - 1)
    float areaStep1 = (@factor ^ areaStep1 - 1) / (@factor - 1)
    float areaStep2 = (@factor ^ areaStep2 - 1) / (@factor - 1)
  endif

  float radius1 = sqrt(areaStep1 / areaSteps)
  float radius2 = sqrt(areaStep2 / areaSteps)
  print(radius1, " - ", radius2)
transform:
  float x = real(#screenpixel / halfWidth) - 1
  float y = imag(#screenpixel / halfHeight) - 1
  float r = sqrt(x * x + y * y)

  if r < radius1 || r >= radius2
    #solid = true
  endif
default:
  title = "Tiered Rendering"
  int param tiers
    caption = "Number of tiers"
    min = 2
    default = 5
  endparam
  int param tier
    caption = "Tier #"
    min = 1
    default = 5
  endparam
  int param factor
    caption = "Shrink factor"
    min = 1
    default = 4
  endparam
}
It happened again in a slightly different way. Instead of the layer refusing to render, it kept rendering the same thing, and changing any setting didn&#039;t change the outcome or even restart the layer render. It just kept crunching. Ctrl+Z caused crash-to-desktop (not even the usual crash recovery dialog). This is also new and didn&#039;t happen other times. One thing I need to mention, all these &#039;corrupt layers&#039; started to happen after I wrote and started using a certain transformation by default on a stack of 5 layers: ```` mjdTieredRendering { ; 2026-04-28 ; Made by Mark Jeronimus &lt;mark.jeronimus+ultrafractal.com@gmail.com&gt;. ; CC BY-NC-SA 4.0 (Give credit, Don&#039;t make money, Same license, No liability) global: import &quot;common.ulb&quot; ; $DEFINE DEBUG float halfWidth = #width / 2 float halfHeight = #height / 2 float areaSteps = @tiers float areaStep1 = @tier - 1 float areaStep2 = @tier if @factor &gt; 1 float areaSteps = (@factor ^ areaSteps - 1) / (@factor - 1) float areaStep1 = (@factor ^ areaStep1 - 1) / (@factor - 1) float areaStep2 = (@factor ^ areaStep2 - 1) / (@factor - 1) endif float radius1 = sqrt(areaStep1 / areaSteps) float radius2 = sqrt(areaStep2 / areaSteps) print(radius1, &quot; - &quot;, radius2) transform: float x = real(#screenpixel / halfWidth) - 1 float y = imag(#screenpixel / halfHeight) - 1 float r = sqrt(x * x + y * y) if r &lt; radius1 || r &gt;= radius2 #solid = true endif default: title = &quot;Tiered Rendering&quot; int param tiers caption = &quot;Number of tiers&quot; min = 2 default = 5 endparam int param tier caption = &quot;Tier #&quot; min = 1 default = 5 endparam int param factor caption = &quot;Shrink factor&quot; min = 1 default = 4 endparam } ````
 
0
reply

If you have an UPR and a sequence of steps that reliably reproduces the problem, please send it to me so I can try it myself.

If you have an UPR and a sequence of steps that reliably reproduces the problem, please send it to me so I can try it myself.

Ultra Fractal author

 
0
reply

I wish I could reproduce this. The steps I took are the same steps I perform hundreds of times without triggering the bug. If it did, I would have found steps to reproduce it long ago.

I wish I _could_ reproduce this. The steps I took are the same steps I perform hundreds of times without triggering the bug. If it did, I would have found steps to reproduce it long ago.
 
0
reply
123
views
9
replies
3
followers
live preview
Enter at least 10 characters.
WARNING: You mentioned %MENTIONS%, but they cannot see this message and will not be notified
Saving...
Saved
All posts under this topic will be deleted ?
Pending draft ... Click to resume editing
Discard draft