fix a bug that hsub passes shared_data to inithandler