I think it's weird since there's no object of "took." Is it common sentence?
Answer from a Native speaker
"What took (you) so long?” is an idiomatic phrase. To "take so long" means to spend a lot of time to do something. So in this case, it is asking what they were doing for such a long time. Be aware that while very common and idiomatic, it is also slightly critical and/or accusatory. Almost any question of this sort sounds pointed — and depending on other factors (the speaker’s tone of voice, the relationship between speaker and hearer), it might sound harsh, and/or aggressive, and/or mean. Ex: It took so long to get here. Ex: You took so long to get ready.