Our model has a closed-loop constraint with partially unmeasured states. So we need to use closed loop equality constraint to estimate those unmeasured states. The process as follows, 1. assign entire qpos to mjData with partially incorrect for unmeasured states. 2. mj_forward() to get constrained Jacobian (efc_J) and violation vectors (efc_pos). 3. Use corresponding submatrices in efc_J and efc_pos, along with efc_pos, to get velocity vectors dq. 4. Use mju_quatIntegrate() for quaternions and q=q+dq for joints to update unmeasured states. 5. repeat 1-4 until convergence. After the mjModel and mjData being initialized, and after calling mj_forward() with partially unmeasured qpos, all matrices and vectors related to constraints are empty, ie efc_J, efc_pos, efc_id. Also, the njmax or nemax are all 0, which should be nonzero or at least -1(default). Can you give us some hints what could cause empty efc_J and even njmax here?