As per me it is not possible to overwrite built in constraint.
You have to make constraint mode off before randomizing else extend your sequence and override constraint by writing constraint with same name.
As `ovm_do_with first creates item then randomize it so whenever it randomizes item it considers both constraints and try to resolve both as constraint solver rules.
Agree with akki. Either extend your sequence item and use the factory to select it, or don’t use the ovm_do macro and use s1.addr_c1.constraint_mode(0) statement directly.
Also, you cannot pass a constraint label (addr_c2) as an argument to randomize with{}.