NSISEngine Auto Layout Crash (Not possible to remove variable)

Hey there,

We're experiencing a big bump of these crashes with no great explanation. We're not doing anything special about the layout there except for using some nested Stack Views, and the view itself is embedded within a reusable cell.

Attaching a full crash log - have plenty more of these but they are quite similar. Would appreciate your help :)

Shai.

Here's some more interesting info we see in Crashlytics, IRT the same crash:

Not possible to remove variable: 238: <unknown var (bug!) with engine as delegate:0x2812d0a80>{id: 37744}

colIndex:59 from engine <NSISEngine: 0x11f5f8720>{
    delegate:0x11f5f4f80 EngineVars: 0: objective{id: 35029}

    rowIndex:0 1: app.UserAvatarView:0x11f5f6440.Width{id: 35020}
    rowIndex:9 2: app.UserAvatarView:0x11f5f6440.Height{id: 35017}
        colIndex:1073741871 3: 0x282ecf9c0.marker{id: 35019}
        colIndex:1 4: app.UserAvatarView:0x11f5f6d00.Width{id: 35024}
    rowIndex:1073741825 5: app.UserAvatarView:0x11f5f6d00.Height{id: 35022}
    rowIndex:2 7: app.UserAvatarView:0x11f5f75c0.Width{id: 35028}
        colIndex:2 8: app.UserAvatarView:0x11f5f75c0.Height{id: 35026}
    rowIndex:3 10: UIStackView:0x11f5f62b0.Height{id: 35018}
    rowIndex:1073741824 11: 0x282ecf840.marker{id: 35016}
        colIndex:1073741825 12: 0x282e2b660.marker{id: 35021}
        colIndex:1073741826 13: 0x282e2bc00.marker{id: 35025}
        colIndex:1073741827 14: UIStackView:0x11f5f6120.minX{id: 35032}
        rowIndex:4 15: app.UsersSnippetView:0x11f5f5f60.minX{id: 35033}
    rowIndex:5 16: 0x282e5bea0.marker{id: 35031}
        colIndex:6 17: UIStackView:0x11f5f6120.minY{id: 35035}
    rowIndex:1073741827 18: 0x2821c4540.marker{id: 37785}
        colIndex:70 19: 0x282e59e00.marker{id: 35034}
        colIndex:1073741829 20: UIStackView:0x11f5f6120.Width{id: 35038}
        colIndex:4 21: app.UsersSnippetView:0x11f5f5f60.Width{id: 35039}
    rowIndex:53 22: 0x282e59d40.marker{id: 35037}
        colIndex:8 23: UIStackView:0x11f5f6120.Height{id: 35041}
    rowIndex:1073741885 24: app.UsersSnippetView:0x11f5f5f60.Height{id: 35042}
    rowIndex:1073741828 25: 0x282e59da0.marker{id: 35040}
        colIndex:1073741831 26: UIImageView:0x11f5f6960.Width{id: 37497}
    rowIndex:6 27: 0x2821fb540.posErrorMarker{id: 37493}
        colIndex:9 28: 0x2821fb540.negError{id: 37494}
    rowIndex:13 29: UIImageView:0x11f5f6960.Height{id: 37498}
    rowIndex:1073741829 30: 0x2821fb6c0.posErrorMarker{id: 37495}
        colIndex:1073741832 31: 0x2821fb6c0.negError{id: 37496}
    rowIndex:1073741836 32: UIView:0x11f5f66

I think your best bet will be to file a bug here. If you have a app that can reproduce this it would be especially good for us to see the issue in action.

Hi @ShaiMishali . Did you find the solution to this? I am facing the same issue and have more or less the same setup(Nested StackViews in reusable cells)

For anyone facing the same problem, the issue lies in NSLayoutConstraint's multiplier factor.

For me, I was applying the width anchor(for the parent stackView) programatically at runtime whose multiplier was calculated(based on some logic), at runtime, to be 0.3333333333333333 which was messing up the Auto Layout engine calculations when reusing the cells(I have a collectionView and each cell has a stackView, the parent stackView I mentioned above). So I used this logic to reduce the precision from 0.3333333333333333 to 0.333984375 and Auto Layout was happy and no more crashes

NSISEngine Auto Layout Crash (Not possible to remove variable)
 
 
Q