For some reason, the very first point cloud requested on an S21 is all 0's. The size of the point cloud is very large (the typical ~250,000 points that I'm seeing in my setup) but all the data is 0. This causes many issues with existing software including PCL. I can get around this by throwing away the first PC received in all of my processing nodes, but I don't htink I should have to do this. This is obviously something weird in your ROS driver when it gets it's first ever point cloud to deliver.
I'm using 3.4.1