When forcing the use of primal simplex, if the all-slack basis is not primal feasible, phase 1 is used.
With a sufficiently large dual feasibility tolerance, all duals in the phase 1 problem are feasible, so its solution is considered to be optimal. However, if any primal feasibility remains, the original LP problem is considered to be infeasible.
The phase 1 problem should be solved using the smaller of the dual feasibility tolerance and the default dual feasibility tolerance so that primal feasibility is identified correctly.
Exhibited when using option file
dual_feasibility_tolerance=1e-3
solve_relaxation=true
simplex_strategy = 4
and MIPLIB 2017 problem mas74