Force close/crash when trying to add account



  • Adding our corp owncloud server I get a forceclose/crash immediately on clicking the arrow to add.
    I enter it as owncloud.corporate.com (where corp is name of company).

    this is the logcat:
    E/BufferQueue( 179): [fahrbot.apps.ditalix.free.wallpaper.DitalixWallpaper] connect: already connected (cur=1, req=1)
    E/libEGL ( 1092): EGLNativeWindowType 0x75939628 already connected to another API
    E/libEGL ( 1092): eglCreateWindowSurface:414 error 3003 (EGL_BAD_ALLOC)
    E/BufferQueue( 179): [fahrbot.apps.ditalix.free.wallpaper.DitalixWallpaper] connect: already connected (cur=1, req=1)
    E/libEGL ( 1092): EGLNativeWindowType 0x75939628 already connected to another API
    E/libEGL ( 1092): eglCreateWindowSurface:414 error 3003 (EGL_BAD_ALLOC)
    E/SpannableStringBuilder(18305): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    E/SpannableStringBuilder(18305): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    E/SpannableStringBuilder(18305): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    E/SpannableStringBuilder(18305): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    W/davdroid.URIUtils(18305): Trying to repair invalid URL: https://oc.corp.com -> https://oc.corp.com%20
    E/SpannableStringBuilder(18305): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    E/SpannableStringBuilder(18305): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    E/Fluency_Log( 1104): Configuration file not found at "/storage/emulated/0/Android/data/com.touchtype.swiftkey/files/keyboard_delta/.config"
    E/SpannableStringBuilder(18305): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    E/SpannableStringBuilder(18305): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    E/SpannableStringBuilder(18305): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    E/SpannableStringBuilder(18305): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
    W/davdroid.URIUtils(18305): Trying to repair invalid URL: https://oc.corp.com -> https://oc.corp.com%20
    I/davdroid.QueryServerDialogFragment(18305): onCreateLoader
    I/davdroid.WebDavResource(18305): Using preemptive authentication (not compatible with Digest auth)
    E/AndroidRuntime(18305): FATAL EXCEPTION: AsyncTask #1
    E/AndroidRuntime(18305): Process: at.bitfire.davdroid, PID: 18305
    E/AndroidRuntime(18305): java.lang.RuntimeException: An error occured while executing doInBackground()
    E/AndroidRuntime(18305): at android.os.AsyncTask$3.done(AsyncTask.java:300)
    E/AndroidRuntime(18305): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
    E/AndroidRuntime(18305): at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
    E/AndroidRuntime(18305): at java.util.concurrent.FutureTask.run(FutureTask.java:242)
    E/AndroidRuntime(18305): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    E/AndroidRuntime(18305): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    E/AndroidRuntime(18305): at java.lang.Thread.run(Thread.java:841)
    E/AndroidRuntime(18305): Caused by: java.lang.IllegalArgumentException: Host name may not be null
    E/AndroidRuntime(18305): at org.apache.http.HttpHost.<init>(HttpHost.java:83)
    E/AndroidRuntime(18305): at org.apache.http.impl.client.AbstractHttpClient.determineTarget(AbstractHttpClient.java:497)
    E/AndroidRuntime(18305): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
    E/AndroidRuntime(18305): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
    E/AndroidRuntime(18305): at at.bitfire.davdroid.webdav.WebDavResource.options(WebDavResource.java:142)
    E/AndroidRuntime(18305): at at.bitfire.davdroid.syncadapter.QueryServerDialogFragment$ServerInfoLoader.loadInBackground(QueryServerDialogFragment.java:117)
    E/AndroidRuntime(18305): at at.bitfire.davdroid.syncadapter.QueryServerDialogFragment$ServerInfoLoader.loadInBackground(QueryServerDialogFragment.java:1)
    E/AndroidRuntime(18305): at android.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:312)
    E/AndroidRuntime(18305): at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:69)
    E/AndroidRuntime(18305): at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:57)
    E/AndroidRuntime(18305): at android.os.AsyncTask$2.call(AsyncTask.java:288)
    E/AndroidRuntime(18305): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    E/AndroidRuntime(18305): ... 3 more

    It says host name may not be null but that is the only parameter I need to enter in iOS or any other caldav or carddav accounts i've tried.

    It doesn't crash if I simply append more after the host name like owncloud.corporate.com/dav but then it doesn't work.

    Ah, just in testing it seems if I just add a leading / it won't crash either.

    so 1. shouldn't get a crash if you don't have a leading slash. and 2. when i add the slash so it doesn't crash it says "missing capabilities: invalid dav response: neither caldav nor carddav available.

    Yet using that same url via desktop client, ios, or web all work.



  • ok, I see the %20 at the end. guess a leading space was added from swiftkey autocomplete. so I don't need a leading slash. still have the missing capabilities.



  • If i add the full url, non-root, it does successfully get it. I just have to do carddav sep from caldav


  • developer

    That's normal behaviour. However, the crash bug on invalid host names should still not appear.