For your information, I can reproduce this on both Real Devices and the simulator:
SDK 7.1
Appium 1.2.2
The difference when I use the simulator is that Appium crashes:
info: [debug] Responding to client with success: {“status”:0,“value”:"",“sessionId”:“f9778768-6166-484c-a096-ce4c0d559640”}
info: <-- POST /wd/hub/session/f9778768-6166-484c-a096-ce4c0d559640/url 200 2011.528 ms - 74 {“status”:0,“value”:"",“sessionId”:“f9778768-6166-484c-a096-ce4c0d559640”}
info: --> POST /wd/hub/session/f9778768-6166-484c-a096-ce4c0d559640/element {“using”:“id”,“value”:“draggable”}
info: [debug] [REMOTE] Executing ‘find_element’ atom in default context
info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Sending _rpc_forwardSocketData: message to remote debugger
info: [debug] [REMOTE] Receiving data from remote debugger
info: [debug] [REMOTE] got applicationSentData response
info: [debug] Responding to client with success: {“status”:0,“value”:{“ELEMENT”:“5000”},“sessionId”:“f9778768-6166-484c-a096-ce4c0d559640”}
info: <-- POST /wd/hub/session/f9778768-6166-484c-a096-ce4c0d559640/element 200 18.229 ms - 90 {“status”:0,“value”:{“ELEMENT”:“5000”},“sessionId”:“f9778768-6166-484c-a096-ce4c0d559640”}
info: --> POST /wd/hub/session/f9778768-6166-484c-a096-ce4c0d559640/element {“using”:“id”,“value”:“droppable”}
info: [debug] [REMOTE] Executing ‘find_element’ atom in default context
info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Sending _rpc_forwardSocketData: message to remote debugger
info: [debug] [REMOTE] Receiving data from remote debugger
info: [debug] [REMOTE] got applicationSentData response
info: [debug] Responding to client with success: {“status”:0,“value”:{“ELEMENT”:“5001”},“sessionId”:“f9778768-6166-484c-a096-ce4c0d559640”}
info: <-- POST /wd/hub/session/f9778768-6166-484c-a096-ce4c0d559640/element 200 18.013 ms - 90 {“status”:0,“value”:{“ELEMENT”:“5001”},“sessionId”:“f9778768-6166-484c-a096-ce4c0d559640”}
info: --> GET /wd/hub/session/f9778768-6166-484c-a096-ce4c0d559640/element/5001/text {}
info: [debug] [REMOTE] Executing ‘get_text’ atom in default context
info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Sending _rpc_forwardSocketData: message to remote debugger
info: [debug] [REMOTE] Receiving data from remote debugger
info: [debug] [REMOTE] got applicationSentData response
info: [debug] Responding to client with success: {“status”:0,“value”:“Drop here”,“sessionId”:“f9778768-6166-484c-a096-ce4c0d559640”}
info: <-- GET /wd/hub/session/f9778768-6166-484c-a096-ce4c0d559640/element/5001/text 200 23.882 ms - 83 {“status”:0,“value”:“Drop here”,“sessionId”:“f9778768-6166-484c-a096-ce4c0d559640”}
info: --> POST /wd/hub/session/f9778768-6166-484c-a096-ce4c0d559640/touch/perform {“actions”:[{“action”:“press”,“options”:{“element”:“5000”}},{“action”:“moveTo”,“options”:{“element”:“5001”,“y”:15,“x”:15}}]}
info: [debug] Pushing command to appium work queue: “au.getElement(‘5000’).rect()”
info: [debug] Sending command to instruments: au.getElement(‘5000’).rect()
info: [debug] Sending command to instruments: au.getElement(‘5000’).rect()
info: [debug] [INST] 2014-09-26 12:09:26 +0000 Debug: Got new command 5 from instruments: au.getElement(‘5000’).rect()
info: [debug] [INST] 2014-09-26 12:09:26 +0000 Debug: evaluating au.getElement(‘5000’).rect()
info: [debug] Socket data received (91 bytes)
info: [debug] Socket data being routed.
info: [debug] Got result from instruments: {“status”:17,“value”:"‘null’ is not an object (evaluating ‘au.getElement(‘5000’).rect’)"}
error: uncaughtException: Cannot read property ‘x’ of undefined date=Fri Sep 26 2014 14:09:26 GMT+0200 (CEST), pid=13634, uid=502, gid=20, cwd=/usr/local/lib/node_modules/appium, execPath=/usr/local/Cellar/node/0.10.31/bin/node, version=v0.10.31, argv=[node, /usr/local/bin/appium, --tmp, /Users/rdneolane/Documents/BGA/Appium/tempDir/], rss=119107584, heapTotal=63371520, heapUsed=27315352, loadavg=[4.16357421875, 3.98046875, 3.1103515625], uptime=106156, trace=[column=36, file=/usr/local/lib/node_modules/appium/lib/devices/ios/ios-controller.js, function=, line=2128, method=null, native=false, column=43, file=/usr/local/lib/node_modules/appium/node_modules/async/lib/async.js, function=next, line=801, method=null, native=false, column=16, file=/usr/local/lib/node_modules/appium/node_modules/async/lib/async.js, function=null, line=32, method=null, native=false, column=9, file=/usr/local/lib/node_modules/appium/lib/devices/common.js, function=exports.respond, line=28, method=respond, native=false, column=18, file=/usr/local/lib/node_modules/appium/lib/devices/ios/ios.js, function=, line=1368, method=null, native=false, column=20, file=/usr/local/lib/node_modules/appium/node_modules/appium-uiauto/lib/command-proxy.js, function=getResultAndSendNext, line=146, method=null, native=false, column=7, file=/usr/local/lib/node_modules/appium/node_modules/appium-uiauto/lib/command-proxy.js, function=, line=88, method=null, native=false, column=20, file=events.js, function=Socket.emit, line=117, method=emit, native=false, column=16, file=_stream_readable.js, function=null, line=943, method=null, native=false, column=13, file=node.js, function=process._tickDomainCallback, line=463, method=_tickDomainCallback, native=false], stack=[TypeError: Cannot read property ‘x’ of undefined, at null. (/usr/local/lib/node_modules/appium/lib/devices/ios/ios-controller.js:2128:36), at next (/usr/local/lib/node_modules/appium/node_modules/async/lib/async.js:801:43), at /usr/local/lib/node_modules/appium/node_modules/async/lib/async.js:32:16, at exports.respond (/usr/local/lib/node_modules/appium/lib/devices/common.js:28:9), at null. (/usr/local/lib/node_modules/appium/lib/devices/ios/ios.js:1368:18), at getResultAndSendNext (/usr/local/lib/node_modules/appium/node_modules/appium-uiauto/lib/command-proxy.js:146:20), at Socket. (/usr/local/lib/node_modules/appium/node_modules/appium-uiauto/lib/command-proxy.js:88:7), at Socket.emit (events.js:117:20), at _stream_readable.js:943:16, at process._tickDomainCallback (node.js:463:13)]