[ERROR AGAIN] UEFN Crashes when there is a "canvas" clause in verse

UEFN is crashing when open my main project. Can not do anything. I try it on other PC and the same happens.

Error:

LoginId:0e80a7744101188c67fa1b8544ab252e
EpicAccountId:d8f8d59d5d4246df9fafa1b29405b9d0

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000

UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
kernel32
ntdll

Does your project have Verse code containing a class with a block clause in it? If so, does commenting that out allow the project to load?

2 Likes

You mean the “block:” that is used in UIs?

Yes. I did what did you said and the project opens, but of course I have Verse errors

I get the exact same thing on one of my projects.

Same here - removing the block: statement allows me to open the editor, otherwise I get a crash upon selecting a project

Removing block: from classes as a constructor fixed my project as well. Luckily <constructor> methods are still working.

Yes, but removing block destroys the UI. We need the block statement

How can we overcome this problem to be able to use the UI?

I don’t know what is breaking your UI, But I suppose you need to move code from block: statement within class, that works as a constructor, to a new place.
For example, I was using countdown_timer class and I moved code after block statement (that is commented) to a new method SetUpCanvas.


countdown_timer<public> := class:
    # block:
    #     set Canvas = canvas:
    #         Slots := array:
    #             canvas_slot:
    #                 Anchors := anchors:
    #                     Minimum := vector2{X := 0.5, Y := 0.65}
    #                     Maximum := vector2{X := 0.5, Y := 0.65}
    #                 Alignment := vector2{X := 0.5, Y := 0.0}
    #                 Offsets := margin{Top := 0.0, Left := 0.0, Bottom := 0.0, Right := 0.0}
    #                 SizeToContent := true
    #                 Widget := RemainingTimeWidget

    MaybePlayerUI : ?player_ui = false
    var RemainingTime : float = 0.0
    var Canvas<public> : canvas = canvas{}
    RemainingTimeWidget : text_block = text_block{DefaultTextColor := NamedColors.White}
    TimerTickPeriod : float = 1.0

    SetUpCanvas():void=
        set Canvas = canvas:
            Slots := array:
                canvas_slot:
                    Anchors := anchors:
                        Minimum := vector2{X := 0.5, Y := 0.65}
                        Maximum := vector2{X := 0.5, Y := 0.65}
                    Alignment := vector2{X := 0.5, Y := 0.0}
                    Offsets := margin{Top := 0.0, Left := 0.0, Bottom := 0.0, Right := 0.0}
                    SizeToContent := true
                    Widget := RemainingTimeWidget

After this, place where I was using this timer I need to rework in order to call SetUpCanvas method after I constructed the class.

CntTimer := countdown_timer{MaybePlayerUI := option{PlayerUI}, RemainingTime := InitialCountdownTime}
CntTimer.SetUpCanvas()
set CountdownTimer = CntTimer

This is just a temporary solution for my example. I have to rework this whole countdown_timer class.
You can also try putting your block code into <constructor> method.

2 Likes

Watch out this code by @Petz .

It solved the crash of my project and it is a great fix until the block: UEFN bug is solved :heart:

So does block being used anywhere cause this issue?

Yes

Odd, because it doesnt crash for me

Yep, I find out that in some projects block: doe snot crash but in others yes

Hi everyone, thank you for your patience here. This should be fixed. Please let us know if you have any further issues.

2 Likes

The status of this incident has been moved from ‘Done’ to ‘Closed’.

1 Like

It has been returned!

UEFN crashes when opening a project with a Canvas

SetUpCanvas():void=
        set Canvas = canvas:
            Slots := array:
                canvas_slot: # Upper Middle of Screen
                    Anchors := anchors{Minimum := vector2{X := 0.5, Y := 0.0}, Maximum := vector2{X := 0.5, Y := 0.0} }
                    Offsets := margin{Top := 30.0, Left := 0.0, Right := 0.0, Bottom := 0.0}
                    Alignment := vector2{X := 0.5, Y := 0.0}
                    SizeToContent := true
                    Widget := stack_box: 
                        Orientation := orientation.Vertical 
                        Slots := array: 
                            stack_box_slot: 
                                Widget := MapCodeTextBlock
                            stack_box_slot: 
                                Widget := CurrentLevelButtonQuiet

LoginId:53df00fc42d09d5286451389af4dc2d1
EpicAccountId:d8f8d59d5d4246df9fafa1b29405b9d0

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000038

UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
UnrealEditorFortnite_Win64_Shipping
kernel32
ntdll

1 Like

@davidpkami Thank you for your report! Can you please re-post using the “New Issue” option on the Issues and Bug Reporting forums? Posts with this feature are connected directly into our development team so we can quickly get to them!
For more information, such as how to get the reference ID, please check out the article here: Using the Creative and UEFN Bug Reporting Form