Deep Dive Part 1, by Scott Stoll. Twitter: @scottstoll2017

This article is part of a four-part series. You can find the others here:

In addition to speaking about Flutter and embarrassing myself in front of audiences on two continents, I recently decided to do a deep dive. All of my friends do deep dives on cool things like Animation, State Management, Gestures or Testing.

Me? I decided to do a deep dive on an error message.

But this is no ordinary error message. If InheritedWidget is Flutter’s Monad (and it is), then “RenderFlex children have non-zero flex but incoming height constraints are unbounded” is our Boogeyman (Uomo Nero, Бугимен, Hombre Boogeyman, بعبع , Mumus, Croque-mitaine, Baba Yaga, John Wick).

Da Boogeyman (Image CC-0)

It should also be noted that our Boogeyman has a few brothers and sisters you might see now and then:

“RenderConstrainedBox object was given an infinite size during layout.”

“BoxConstraints forces an infinite width.”

And more you’ll be able to recognize after you‘ve read this deep dive.

Relax, all of these errors are nothing more than small variations on a single theme. The error messages are different because in each of these cases the error is being caused by something different but, in the end, it all boils down to the same problem:

Something is trying to be infinitely large, nothing is there to stop it, and you need to fix that.

Once you understand the way things work under the hood, it gets easier and easier to know exactly what to do when the Boogeyman crawls out from under your bed.

You send John Wick, of course.