There are several things of importance.
To point a few
1. check consistency between logic and physical libraries
2. check that all physical cells are created
3. Before Performing virtual placement make sure you place and fix hard macros if any
4. properly set your max routing layers
5. Constrain macros based on their interactions with the I/O pads
6. Set sliver sizes and paddings/blockages for macros
....