Tap point is not within the bounds of the screen - appium is changing coordinate after method call

I didnt update any gem, but lately I am getting this error a lot, and it was working fine for the last 3 months. Here is what Im doing

Appium::TouchAction.new.tap(x: 386, y: 107, count: 9).perform

inside the bounds and its a clickable item
and the error
Selenium::WebDriver::Error::JavascriptError: tap point is not within the bounds of the screen from /Users/julia/.rvm/gems/ruby-2.3.1/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/response.rb:70:in assert_ok'

Yesterday this was working fine, today its not working at all, nothing was changed, only me has access to the code.
its driving me crazy cause now my stable tests are not stable anymore because of fake fails

appium logs: https://gist.github.com/juhlila/fa0bc4f2420ffcfb0afe737e9d08a254

add pls appium logs.

I update the question with the log file

See this

[debug] [UIAuto] Got result from instruments: {“status”:0,“value”:{“origin”:{“x”:-0.000010840424720461877,“y”:-247.99998915957508},“size”:{“width”:320.0000248280692,“height”:568.0000139876443}}}
[debug] [UIAuto] Sending command to instruments: UIATarget.localTarget().frontMostApp().tapWithOptions({“tapOffset”:{“x”:1.2062499064098247,“y”:0.18838027705106286},“tapCount”:9,“touchCount”:1})

Your actual tap is upper left corner of screen. Which is notification bar.

i didnt notice that, so whats happening?
the call is right, but for some reason it changes :scream:

beginning of the log, its right
POST /wd/hub/session/e152eb46-96fb-45bd-b45e-96b158a24148/touch/perform {"actions":[{"action":"tap","options":{"x":386,"y":107,"count":9}}]}

but then it changes
[debug] [Instruments] [INST] 2016-09-13 14:14:24 +0000 Debug: Running system command #22: /usr/local/Cellar/node/6.2.1/bin/node /usr/local/lib/node_modules/appium/node_modules/appium-ios-driver/node_modules/appium-uiauto/build/lib/bin/command-proxy-client.js /var/folders/k0/s803_jl52hvggnvg9sbdbbf00000gn/T/instruments_sock 2,{"status":0,"value":{"origin":{"x":-0.000010840424720461877,"y"...

what do i have to do to call it right?

EDIT: if i call execute_script 'target.rect();,
its returned {"origin"=>{"x"=>0, "y"=>0}, "size"=>{"width"=>568.0000139876443, "height"=>320.0000248280692}}
but my x is 386, which is weird, i got that value from calling source_window and getting the coordinate of the element i want there

try first as dirty solution put wait for 3 sec before doing tap. will it give any effect.

wait didnt help :frowning:

funny thing is that i tried execute_script 'UIATarget.localTarget().tap({x:386, y:107});' and it worked.
this is probably a appium bug, i will post on appium github

never saw it before. maybe ruby… i am with java-client.