Hi,
Just a random guess… Have you tried to use [...] + inner(grad(u2), u1)*v2*dx1(1)
instead of [...] + inner(grad(u2), u1)*v2*dx2
? (Changed the measure). I had something similar here.
Concerning the newton solver… I am surely not an expert on this, sorry.
Baltasar