• Hi
    Below is the log pointing to an NPE while trying to sync some events
    Remote server is baikal latest 0.8.0 running on FreeBSD server. The same account is properly synchronizing on another Android device without issues. Also, Outlook CalDAV Synchronizer has no issues.
    I tried to delete and recreate the account, still same issue. App/System Settings are in the log

    It was properly working until today, not sure if it is some new event created…, but nothing unusual

    Let me know if you need more details

    Log: (I just edited user/IP info)

    --- BEGIN DEBUG INFO ---
    
    SYNCHRONIZATION INFO
    Account: Account {name=user1@serve.nl, type=bitfire.at.davdroid}
    Authority: com.android.calendar
    
    EXCEPTION
    at.bitfire.ical4android.InvalidCalendarException: Couldn't parse iCalendar
    	at at.bitfire.ical4android.ICalendar$Companion.fromReader(ICalendar.kt:10)
    	at at.bitfire.ical4android.Event$Companion.eventsFromReader(Event.kt:1)
    	at at.bitfire.ical4android.Event$Companion.eventsFromReader$default(Event.kt:1)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager.processVEvent(CalendarSyncManager.kt:1)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager.access$processVEvent(CalendarSyncManager.kt:1)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$1$1$1.invoke(CalendarSyncManager.kt:8)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$1$1$1.invoke(CalendarSyncManager.kt:1)
    	at at.bitfire.davdroid.syncadapter.SyncManager.responseExceptionContext(SyncManager.kt:1)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$1$1.invoke(CalendarSyncManager.kt:2)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$1$1.invoke(CalendarSyncManager.kt:1)
    	at at.bitfire.dav4jvm.Response$Companion.parse(Response.kt:46)
    	at at.bitfire.dav4jvm.DavResource$processMultiStatus$2.invoke(DavResource.kt:9)
    	at at.bitfire.dav4jvm.DavResource.processMultiStatus(DavResource.kt:14)
    	at at.bitfire.dav4jvm.DavResource.processMultiStatus(DavResource.kt:5)
    	at at.bitfire.dav4jvm.DavCalendar.multiget(DavCalendar.kt:10)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$1.invoke(CalendarSyncManager.kt:2)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$1.invoke(CalendarSyncManager.kt:1)
    	at at.bitfire.davdroid.syncadapter.SyncManager.remoteExceptionContext(SyncManager.kt:1)
    	at at.bitfire.davdroid.syncadapter.SyncManager.remoteExceptionContext(SyncManager.kt:8)
    	at at.bitfire.davdroid.syncadapter.CalendarSyncManager.downloadRemote(CalendarSyncManager.kt:2)
    	at at.bitfire.davdroid.syncadapter.SyncManager$syncRemote$1$1$1.invokeSuspend(SyncManager.kt:2)
    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:3)
    	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:19)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
    	at java.lang.Thread.run(Thread.java:764)
    Caused by: net.fortuna.ical4j.data.ParserException: Error at line 42:Attempt to invoke virtual method 'java.util.TimeZone java.util.Calendar.getTimeZone()' on a null object reference
    	at net.fortuna.ical4j.data.CalendarParserImpl.parse(CalendarParserImpl.java:17)
    	at net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:3)
    	at net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:2)
    	at at.bitfire.ical4android.ICalendar$Companion.fromReader(ICalendar.kt:4)
    	... 25 more
    Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.TimeZone java.util.Calendar.getTimeZone()' on a null object reference
    	at java.text.DateFormat.getTimeZone(DateFormat.java:704)
    	at net.fortuna.ical4j.model.Iso8601.setTime(Iso8601.java:2)
    	at net.fortuna.ical4j.model.DateTime.setTime(DateTime.java:3)
    	at net.fortuna.ical4j.transform.recurrence.AbstractDateExpansionRule.getTime(AbstractDateExpansionRule.java:2)
    	at net.fortuna.ical4j.transform.recurrence.ByDayRule$MonthlyExpansionFilter.apply(ByDayRule.java:10)
    	at net.fortuna.ical4j.transform.recurrence.ByDayRule$MonthlyExpansionFilter.apply(ByDayRule.java:1)
    	at net.fortuna.ical4j.transform.recurrence.ByDayRule.transform(ByDayRule.java:10)
    	at net.fortuna.ical4j.transform.recurrence.ByDayRule.transform(ByDayRule.java:1)
    	at net.fortuna.ical4j.model.Recur.getCandidates(Recur.java:30)
    	at net.fortuna.ical4j.model.Recur.getDates(Recur.java:28)
    	at net.fortuna.ical4j.model.Recur.getDates(Recur.java:1)
    	at net.fortuna.ical4j.model.component.Observance.getLatestOnset(Observance.java:28)
    	at net.fortuna.ical4j.model.component.VTimeZone.getApplicableObservance(VTimeZone.java:2)
    	at net.fortuna.ical4j.model.TimeZone.inDaylightTime(TimeZone.java:1)
    	at java.util.TimeZone.getOffsets(TimeZone.java:246)
    	at java.util.GregorianCalendar.adjustForZoneAndDaylightSavingsTime(GregorianCalendar.java:2916)
    	at java.util.GregorianCalendar.computeTime(GregorianCalendar.java:2807)
    	at java.util.Calendar.updateTime(Calendar.java:3397)
    	at java.util.Calendar.getTimeInMillis(Calendar.java:1761)
    	at java.util.Calendar.getTime(Calendar.java:1734)
    	at java.text.SimpleDateFormat.parseInternal(SimpleDateFormat.java:1633)
    	at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1528)
    	at java.text.DateFormat.parse(DateFormat.java:360)
    	at net.fortuna.ical4j.model.DateTime.setTime(DateTime.java:2)
    	at net.fortuna.ical4j.model.DateTime.<init>(DateTime.java:22)
    	at net.fortuna.ical4j.model.property.DateProperty.setValue(DateProperty.java:5)
    	at net.fortuna.ical4j.data.DefaultContentHandler.resolveTimezones(DefaultContentHandler.java:10)
    	at net.fortuna.ical4j.data.DefaultContentHandler.endCalendar(DefaultContentHandler.java:1)
    	at net.fortuna.ical4j.data.CalendarParserImpl.parseCalendar(CalendarParserImpl.java:10)
    	at net.fortuna.ical4j.data.CalendarParserImpl.parseCalendarList(CalendarParserImpl.java:2)
    	at net.fortuna.ical4j.data.CalendarParserImpl.parse(CalendarParserImpl.java:13)
    	... 28 more
    
    REMOTE RESOURCE
    https://55.0.0.55/dav.php/calendars/user1/default/f23fd531-l0ju-87fr-25er-kjdfi258lnw2.ics
    
    SOFTWARE INFORMATION
    
    ┌────────────────────────────────┬─────────────┬───────────┬─────────────────────┬───────┐
    │ Package                        │ Version     │ Code      │ Installer           │ Notes │
    ├────────────────────────────────┼─────────────┼───────────┼─────────────────────┼───────┤
    │ at.bitfire.davdroid            │ 3.3.8-gplay │ 303080002 │ com.android.vending │       │
    │ com.android.providers.contacts │ 2.0.49      │ 204900000 │ —                   │       │
    │ com.android.providers.calendar │ 1.0.00.35   │ 100000035 │ —                   │       │
    │ com.samsung.android.contacts   │ 3.8.27.5    │ 382700005 │ —                   │       │
    │ com.samsung.android.calendar   │ 4.4.07.0    │ 440700000 │ —                   │       │
    │ com.appgenix.bizcal            │ 2.41.1      │ 241102    │ com.android.vending │       │
    └────────────────────────────────┴─────────────┴───────────┴─────────────────────┴───────┘
    
    
    SYSTEM INFORMATION
    
    Android version: 8.0.0 (R16NW.G930FXXS8ETC3)
    Device: samsung SM-G930F (herolte)
    Locale(s): [en_US]
    
    
    CONNECTVITY
    
     ☒ tun0
       - [ Transports: VPN Capabilities: INTERNET NOT_RESTRICTED TRUSTED VALIDATED FOREGROUND]
       - DNS: 55.0.0.1
     ☐ ?
       - [ Transports: WIFI Capabilities: WIFI_P2P NOT_RESTRICTED TRUSTED NOT_VPN LinkUpBandwidth>=1048576Kbps LinkDnBandwidth>=1048576Kbps]
       - DNS: 
     ☐ wlan0
       - [ Transports: WIFI Capabilities: NOT_METERED INTERNET NOT_RESTRICTED TRUSTED NOT_VPN VALIDATED FOREGROUND LinkUpBandwidth>=1048576Kbps LinkDnBandwidth>=1048576Kbps SignalStrength: -49]
       - DNS: 55.0.0.1
    
    Data saver: disabled
    
    
    CONFIGURATION
    
    Power saving disabled: yes
    System-wide synchronization: automatically
    
    Notifications:
     - sync 
     - cert4android: importance=3
     - syncProblems: importance=2
     - general: importance=2
     - debug: importance=4
     - syncIoErrors: importance=1
     - syncWarnings: importance=2
    
    Permissions:
     - ACCESS_NETWORK_STATE: granted
     - ACCESS_WIFI_STATE: granted
     - INTERNET: granted
     - READ_SYNC_SETTINGS: granted
     - READ_SYNC_STATS: granted
     - WRITE_SYNC_SETTINGS: granted
     - RECEIVE_BOOT_COMPLETED: granted
     - REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: granted
     - READ_CONTACTS: granted
     - WRITE_CONTACTS: granted
     - READ_CALENDAR: granted
     - WRITE_CALENDAR: granted
     - ACCESS_COARSE_LOCATION: denied
     - ACCESS_FINE_LOCATION: denied
     - ACCESS_BACKGROUND_LOCATION: denied
     - org.dmfs.permission.READ_TASKS: denied
     - org.dmfs.permission.WRITE_TASKS: denied
     - org.tasks.permission.READ_TASKS: denied
     - org.tasks.permission.WRITE_TASKS: denied
    
    
    ACCOUNTS
    
     - Account: user1@serve.nl
    
    ┌──────────────────────────────────┬────────────┬──────────────────────┬───────────────┐
    │ Authority                        │ isSyncable │ getSyncAutomatically │ Sync interval │
    ├──────────────────────────────────┼────────────┼──────────────────────┼───────────────┤
    │ at.bitfire.davdroid.addressbooks │ 1          │ true                 │ 240 min       │
    │ com.android.calendar             │ 1          │ true                 │ 240 min       │
    │ com.android.contacts             │ 0          │ false                │ —             │
    │ org.dmfs.tasks                   │ 0          │ false                │ 1440 min      │
    └──────────────────────────────────┴────────────┴──────────────────────┴───────────────┘
    
      WiFi only: true
      Contact group method: GROUP_VCARDS
      Time range (past days): 400
      Default alarm (min before): null
      Manage calendar colors: true
      Use event colors: false
    
      * Address book: CardDAV user1@serve.nl (user1@serve.nl 0Q)
       
       ┌────────────┬──────────────────────┬───────────────┐
       │ isSyncable │ getSyncAutomatically │ Sync interval │
       ├────────────┼──────────────────────┼───────────────┤
       │ 1          │ true                 │ 1440 min      │
       └────────────┴──────────────────────┴───────────────┘
       
           URL: https://55.0.0.55/dav.php/addressbooks/user1/default/
        Read-only: 0
    
    
    DATABASE DUMP
    
    android_metadata
    
    ┌────────┐
    │ locale │
    ├────────┤
    │ en_US  │
    └────────┘
    
    service
    
    ┌────┬────────────────┬─────────┬─────────────────────────────────────────────┐
    │ id │ accountName    │ type    │ principal                                   │
    ├────┼────────────────┼─────────┼─────────────────────────────────────────────┤
    │ 1  │ user1@serve.nl │ carddav │ https://55.0.0.55/dav.php/principals/user1/ │
    │ 2  │ user1@serve.nl │ caldav  │ https://55.0.0.55/dav.php/principals/user1/ │
    └────┴────────────────┴─────────┴─────────────────────────────────────────────┘
    
    sqlite_sequence
    
    ┌────────────┬─────┐
    │ name       │ seq │
    ├────────────┼─────┤
    │ service    │ 2   │
    │ homeset    │ 2   │
    │ collection │ 2   │
    └────────────┴─────┘
    
    homeset
    
    ┌────┬───────────┬──────────┬───────────────────────────────────────────────┬──────────┬─────────────┐
    │ id │ serviceId │ personal │ url                                           │ privBind │ displayName │
    ├────┼───────────┼──────────┼───────────────────────────────────────────────┼──────────┼─────────────┤
    │ 1  │ 1         │ 1        │ https://55.0.0.55/dav.php/addressbooks/user1/ │ 1        │ —           │
    │ 2  │ 2         │ 1        │ https://55.0.0.55/dav.php/calendars/user1/    │ 1        │ —           │
    └────┴───────────┴──────────┴───────────────────────────────────────────────┴──────────┴─────────────┘
    
    collection
    
    ┌────┬───────────┬───────────┬──────────────┬───────────────────────────────────────────────────────┬──────────────────┬────────────┬───────────────┬────────────────────────┬────────────────────────┬─────────────────────────────────────────────┬───────┬──────────┬────────────────┬───────────────┬──────────────────┬────────┬──────┐
    │ id │ serviceId │ homeSetId │ type         │ url                                                   │ privWriteContent │ privUnbind │ forceReadOnly │ displayName            │ description            │ owner                                       │ color │ timezone │ supportsVEVENT │ supportsVTODO │ supportsVJOURNAL │ source │ sync │
    ├────┼───────────┼───────────┼──────────────┼───────────────────────────────────────────────────────┼──────────────────┼────────────┼───────────────┼────────────────────────┼────────────────────────┼─────────────────────────────────────────────┼───────┼──────────┼────────────────┼───────────────┼──────────────────┼────────┼──────┤
    │ 1  │ 1         │ 1         │ ADDRESS_BOOK │ https://55.0.0.55/dav.php/addressbooks/user1/default/ │ 1                │ 1          │ 0             │ CardDAV user1@serve.nl │ CardDAV user1@serve.nl │ https://55.0.0.55/dav.php/principals/user1/ │ —     │ —        │ —              │ —             │ —                │ —      │ 1    │
    │ 2  │ 2         │ 2         │ CALENDAR     │ https://55.0.0.55/dav.php/calendars/user1/default/    │ 1                │ 1          │ 0             │ CalDAV user1@serve.nl  │ CalDAV user1@serve.nl  │ https://55.0.0.55/dav.php/principals/user1/ │ —     │ —        │ 1              │ 0             │ 0                │ —      │ 1    │
    └────┴───────────┴───────────┴──────────────┴───────────────────────────────────────────────────────┴──────────────────┴────────────┴───────────────┴────────────────────────┴────────────────────────┴─────────────────────────────────────────────┴───────┴──────────┴────────────────┴───────────────┴──────────────────┴────────┴──────┘
    
    room_master_table
    
    ┌────┬──────────────────────────────────┐
    │ id │ identity_hash                    │
    ├────┼──────────────────────────────────┤
    │ 42 │ b8699ef3cc4c62e8851df4360fb69e00 │
    └────┴──────────────────────────────────┘
    
    
    APP SETTINGS
    
    1. SharedPreferencesProvider canWrite=true
    
    ┌────────────────────────────┬───────────┐
    │ Setting                    │ Value     │
    ├────────────────────────────┼───────────┤
    │ distrust_system_certs      │ false     │
    │ hint_AutostartPermissions  │ false     │
    │ hint_OpenTasksNotInstalled │ false     │
    │ override_proxy             │ false     │
    │ override_proxy_host        │ localhost │
    │ override_proxy_port        │ 8118      │
    └────────────────────────────┴───────────┘
    
    2. DefaultsProvider canWrite=false
    
    ┌───────────────────────┬───────────┐
    │ Setting               │ Value     │
    ├───────────────────────┼───────────┤
    │ default_sync_interval │ 14400     │
    │ distrust_system_certs │ false     │
    │ override_proxy        │ false     │
    │ override_proxy_host   │ localhost │
    │ override_proxy_port   │ 8118      │
    └───────────────────────┴───────────┘
    
    --- END DEBUG INFO ---
    
  • developer


  • @rfc2822 said in Null Pointer Exception Error:

    @phyto70 Hi,

    Does this help?
    https://www.davx5.com/faq/java-lang-nullpointerexception-java-util-gettimezone

    Oh, sorry, yes, it helped and it is fixed.
    I did not look much in the FAQ for this since the error clearly pointed to the app source code and an NPE

    Thank you

Similar topics

  • 4
  • 21
  • 8