codenameone / CodenameOne

Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.
https://www.codenameone.com/
Other
1.71k stars 405 forks source link

addToQueueAndWait error #2138

Closed shyamsth closed 7 years ago

shyamsth commented 7 years ago

Hi

I am calling server to get reverse location on background using callSerially as shown below code . And I have used Autocomplete in the form .

Display.getInstance().callSerially(new Runnable() {

                @Override
                public void run() {
                    locationHelper = new LocationHelper();
                    locationGps = locationHelper.getLocation();
                    if (locationGps != null) {
                        getLocationButton.setText(getLocalName(false));
                    }
                }
            });

When the server connection is completed and i type on autocomplete then there is no problem which works well. And my problem is when server connection is not completed and I click on the autocomplete then thejava.lang.NullPointerException and java.lang.IndexOutOfBoundsException is thrown and its detail is attached please check it .

How can the above exception can be handled while connectiong to server and user type on autocompleteTextField ?

I have also attached the locaton connectionrequest also please check it.

addtoqueue_error.txt

LocationConnection.txt

codenameone commented 7 years ago

Adding text within the issue

Device "Intel(R) HD Graphics" (\\.\DISPLAY1) initialization failed : 
WARNING: bad driver version detected, device disabled. Please update your driver to at least version 8.15.10.2302
WARNING: Apple will no longer accept http URL connections from applications you tried to connect to http://maps.googleapis.com/maps/api/geocode/json?latlng=27.688671199999987,85.31471439999999&sensor=true to learn more check out https://www.codenameone.com/blog/ios-http-urls.html
[EDT] 0:0:33,955 - Codename One revisions: 030c739027cc775fa572c14d94dc082699ea7086
2417

[EDT] 0:0:33,955 - Exception: java.lang.IndexOutOfBoundsException - Index: 0, Size: 0
[EDT] 0:0:33,958 - Exception: java.lang.IndexOutOfBoundsException - Index: 0, Size: 0
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(ArrayList.java:653)
    at java.util.ArrayList.get(ArrayList.java:429)
    at com.codename1.ui.Container.getComponentAt(Container.java:1551)
    at com.codename1.ui.AutoCompleteTextField.filterImpl(AutoCompleteTextField.java:215)
    at com.codename1.ui.AutoCompleteTextField.setText(AutoCompleteTextField.java:172)
    at com.codename1.impl.javase.JavaSEPort$2Listener$1.run(JavaSEPort.java:3960)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1056)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1000)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1109)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1146)
    at com.codename1.impl.javase.JavaSEPort.editString(JavaSEPort.java:4013)
    at com.codename1.impl.CodenameOneImplementation.editStringImpl(CodenameOneImplementation.java:314)
    at com.codename1.ui.Display.editString(Display.java:1423)
    at com.codename1.ui.Display.editString(Display.java:1394)
    at com.codename1.ui.TextArea.editString(TextArea.java:609)
    at com.codename1.ui.TextArea.pointerReleased(TextArea.java:642)
    at com.codename1.ui.TextField.pointerReleased(TextField.java:1645)
    at com.codename1.ui.Form.pointerReleased(Form.java:2758)
    at com.codename1.ui.Component.pointerReleased(Component.java:3557)
    at com.codename1.ui.Display.handleEvent(Display.java:1967)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:972)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1109)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1146)
    at com.codename1.io.NetworkManager.addToQueueAndWait(NetworkManager.java:619)
    at com.capitaleyenepal.scootout.connections.LocationConnection.connect(LocationConnection.java:76)
    at com.capitaleyenepal.scootout.SearchForm.getLocalName(SearchForm.java:427)
    at com.capitaleyenepal.scootout.SearchForm$4.run(SearchForm.java:230)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1056)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1000)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:901)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(ArrayList.java:653)
    at java.util.ArrayList.get(ArrayList.java:429)
    at com.codename1.ui.Container.getComponentAt(Container.java:1551)
    at com.codename1.ui.AutoCompleteTextField.filterImpl(AutoCompleteTextField.java:215)
    at com.codename1.ui.AutoCompleteTextField.setText(AutoCompleteTextField.java:172)
 res null
[EDT] 0:0:34,301 - Exception: java.lang.NullPointerException - null
    at com.codename1.impl.javase.JavaSEPort$2Listener$1.run(JavaSEPort.java:3960)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1056)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1000)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1109)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1146)
    at com.codename1.impl.javase.JavaSEPort.editString(JavaSEPort.java:4013)
    at com.codename1.impl.CodenameOneImplementation.editStringImpl(CodenameOneImplementation.java:314)
    at com.codename1.ui.Display.editString(Display.java:1423)
    at com.codename1.ui.Display.editString(Display.java:1394)
    at com.codename1.ui.TextArea.editString(TextArea.java:609)
    at com.codename1.ui.TextArea.pointerReleased(TextArea.java:642)
    at com.codename1.ui.TextField.pointerReleased(TextField.java:1645)
    at com.codename1.ui.Form.pointerReleased(Form.java:2758)
    at com.codename1.ui.Component.pointerReleased(Component.java:3557)
    at com.codename1.ui.Display.handleEvent(Display.java:1967)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:972)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1109)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1146)
    at com.codename1.io.NetworkManager.addToQueueAndWait(NetworkManager.java:619)
    at com.capitaleyenepal.scootout.connections.LocationConnection.connect(LocationConnection.java:76)
    at com.capitaleyenepal.scootout.SearchForm.getLocalName(SearchForm.java:427)
    at com.capitaleyenepal.scootout.SearchForm$4.run(SearchForm.java:230)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1056)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1000)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:901)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(ArrayList.java:653)
    at java.util.ArrayList.get(ArrayList.java:429)
    at com.codename1.ui.Container.getComponentAt(Container.java:1551)
    at com.codename1.ui.AutoCompleteTextField.filterImpl(AutoCompleteTextField.java:215)
    at com.codename1.ui.AutoCompleteTextField.setText(AutoCompleteTextField.java:172)
    at com.codename1.impl.javase.JavaSEPort$2Listener$1.run(JavaSEPort.java:3960)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1056)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1000)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1109)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1146)
    at com.codename1.impl.javase.JavaSEPort.editString(JavaSEPort.java:4013)
    at com.codename1.impl.CodenameOneImplementation.editStringImpl(CodenameOneImplementation.java:314)
    at com.codename1.ui.Display.editString(Display.java:1423)
[EDT] 0:0:34,579 - Exception: java.lang.NullPointerException - null
    at com.codename1.ui.Display.editString(Display.java:1394)
    at com.codename1.ui.TextArea.editString(TextArea.java:609)
    at com.codename1.ui.TextArea.pointerReleased(TextArea.java:642)
    at com.codename1.ui.TextField.pointerReleased(TextField.java:1645)
    at com.codename1.ui.Form.pointerReleased(Form.java:2758)
    at com.codename1.ui.Component.pointerReleased(Component.java:3557)
    at com.codename1.ui.Display.handleEvent(Display.java:1967)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:972)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1109)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1146)
    at com.codename1.io.NetworkManager.addToQueueAndWait(NetworkManager.java:619)
    at com.capitaleyenepal.scootout.connections.LocationConnection.connect(LocationConnection.java:76)
    at com.capitaleyenepal.scootout.SearchForm.getLocalName(SearchForm.java:427)
    at com.capitaleyenepal.scootout.SearchForm$4.run(SearchForm.java:230)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1056)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1000)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:901)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
java.lang.NullPointerException
    at ca.weblite.codename1.json.JSONTokener.more(JSONTokener.java:98)
    at ca.weblite.codename1.json.JSONTokener.next(JSONTokener.java:108)
    at ca.weblite.codename1.json.JSONTokener.nextClean(JSONTokener.java:162)
    at ca.weblite.codename1.json.JSONObject.<init>(JSONObject.java:177)
    at ca.weblite.codename1.json.JSONObject.<init>(JSONObject.java:262)
    at com.capitaleyenepal.scootout.util.JsonHelper.getJSONObjectFromString(JsonHelper.java:133)
    at com.capitaleyenepal.scootout.util.LocationHelper.getLocationName(LocationHelper.java:47)
    at com.capitaleyenepal.scootout.SearchForm.getLocalName(SearchForm.java:429)
    at com.capitaleyenepal.scootout.SearchForm$4.run(SearchForm.java:230)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1056)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1000)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:901)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
java.lang.NullPointerException
    at com.codename1.ui.Container.removeComponentImplNoAnimationSafety(Container.java:1050)
    at com.codename1.ui.Container.removeComponentImpl(Container.java:1040)
    at com.codename1.ui.Container.removeComponent(Container.java:1004)
    at com.codename1.ui.AutoCompleteTextField.removePopup(AutoCompleteTextField.java:289)
    at com.codename1.ui.AutoCompleteTextField.access$200(AutoCompleteTextField.java:55)
    at com.codename1.ui.AutoCompleteTextField$3.run(AutoCompleteTextField.java:141)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1056)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1000)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1109)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1146)
    at com.codename1.ui.Form.showModal(Form.java:1898)
    at com.codename1.ui.Dialog.showModal(Dialog.java:1085)
    at com.codename1.ui.Dialog.show(Dialog.java:553)
    at com.codename1.ui.Dialog.showPackedImpl(Dialog.java:1389)
    at com.codename1.ui.Dialog.showPacked(Dialog.java:1297)
    at com.codename1.ui.Dialog.showImpl(Dialog.java:1041)
    at com.codename1.ui.Dialog.show(Dialog.java:1019)
    at com.codename1.ui.Dialog.show(Dialog.java:975)
    at com.codename1.ui.Dialog.show(Dialog.java:764)
    at com.codename1.ui.Dialog.show(Dialog.java:717)
    at com.codename1.ui.Dialog.show(Dialog.java:682)
    at com.codename1.ui.Dialog.show(Dialog.java:623)
    at com.codename1.ui.Dialog.show(Dialog.java:778)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:914)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
java.lang.NullPointerException
    at com.codename1.ui.Container.removeComponentImplNoAnimationSafety(Container.java:1050)
    at com.codename1.ui.Container.removeComponentImpl(Container.java:1040)
    at com.codename1.ui.Container.removeComponent(Container.java:1004)
    at com.codename1.ui.AutoCompleteTextField.removePopup(AutoCompleteTextField.java:289)
    at com.codename1.ui.AutoCompleteTextField.access$200(AutoCompleteTextField.java:55)
    at com.codename1.ui.AutoCompleteTextField$3.run(AutoCompleteTextField.java:141)
    at com.codename1.ui.Display.processSerialCalls(Display.java:1056)
    at com.codename1.ui.Display.edtLoopImpl(Display.java:1000)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1109)
    at com.codename1.ui.Display.invokeAndBlock(Display.java:1146)
    at com.codename1.ui.Form.showModal(Form.java:1898)
    at com.codename1.ui.Dialog.showModal(Dialog.java:1085)
    at com.codename1.ui.Dialog.show(Dialog.java:553)
    at com.codename1.ui.Dialog.showPackedImpl(Dialog.java:1389)
    at com.codename1.ui.Dialog.showPacked(Dialog.java:1297)
    at com.codename1.ui.Dialog.showImpl(Dialog.java:1041)
    at com.codename1.ui.Dialog.show(Dialog.java:1019)
    at com.codename1.ui.Dialog.show(Dialog.java:975)
    at com.codename1.ui.Dialog.show(Dialog.java:764)
    at com.codename1.ui.Dialog.show(Dialog.java:717)
    at com.codename1.ui.Dialog.show(Dialog.java:682)
    at com.codename1.ui.Dialog.show(Dialog.java:623)
    at com.codename1.ui.Dialog.show(Dialog.java:778)
    at com.codename1.ui.Display.mainEDTLoop(Display.java:914)
    at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
    at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)