The main challenge in constrained multiobjective optimization problems (CMOPs) is to appropriately balance convergence, diversity and feasibility. Their imbalance can easily cause the failure of a constrained multiobjective evolutionary algorithm (CMOEA) in converging to the Pareto-optimal front with diverse feasible solutions. To address this challenge, we propose a dual-population-based evolutionary algorithm, named c-DPEA, for CMOPs. c-DPEA is a cooperative coevolutionary algorithm which maintains two collaborative and complementary populations, termed Population1 and Population2. In c-DPEA, a novel self-adaptive penalty function, termed saPF, is designed to preserve competitive infeasible solutions in Population1. On the other hand, infeasible solutions in Population2 are handled using a feasibility-oriented approach. To maintain an appropriate balance between convergence and diversity in c-DPEA, a new adaptive fitness function, named bCAD, is developed. Extensive experiments on three popular test suites comprehensively validate the design components of c-DPEA. Comparison against six state-of-the-art CMOEAs demonstrates that c-DPEA is significantly superior or comparable to the contender algorithms on most of the test problems.