そもそも問題の切り分けが出来てないっぽい
コード履歴取って一行ずつ変えて行けば
どこが原因か特定できるのに