I found that my networks were failing on ARM devices and traced it to UnaryOp.
In function UnaryOp_arm::forward_inplace, I have opt.use_packing_layout is false and elempack is 1. The function will then just return 0.
I think its final return should be:
return UnaryOp::forward_inplace(bottom_top_blob, opt);