net.fortuna.ical4j.data.ParserException: Error at line 22: null

Apereo Issues | Bruce Tong | 6 years ago
  1. 0

    If you use Outlook to export your calendar as an ICS file, it works fine, but if you use Outlook to create a new calendar and then "Save As" an ICS file, ical4j fails to parse it. The format of the ICS files for user-created calendars is different (for who knows what reason). The exception it throws is... Sep 8 10:08:36 localhost.localdomain local1:ERROR [CalendarPortlet.log] [org.jasig.portal.ChannelManager#211] processor.ICalendarContentProcessorImpl.[] - ParserException in getEvents Sep 8 10:08:36 localhost.localdomain net.fortuna.ical4j.data.ParserException: Error at line 22: null Sep 8 10:08:36 localhost.localdomain at net.fortuna.ical4j.data.CalendarParserImpl.parse(CalendarParserImpl.java:135) Sep 8 10:08:36 localhost.localdomain at net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:176) Sep 8 10:08:36 localhost.localdomain at net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:157) Sep 8 10:08:36 localhost.localdomain at net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:145) Sep 8 10:08:36 localhost.localdomain at org.jasig.portlet.calendar.processor.ICalendarContentProcessorImpl.getEvents(ICalendarContentProcessorImpl.java:72) Sep 8 10:08:37 localhost.localdomain at org.jasig.portlet.calendar.adapter.ConfigurableHttpCalendarAdapter.getEvents(ConfigurableHttpCalendarAdapter.java:161) Sep 8 10:08:37 localhost.localdomain at org.jasig.portlet.calendar.mvc.controller.AjaxCalendarController.getEventList(AjaxCalendarController.java:169) Sep 8 10:08:37 localhost.localdomain at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) Sep 8 10:08:37 localhost.localdomain at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) Sep 8 10:08:37 localhost.localdomain at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) Sep 8 10:08:37 localhost.localdomain at java.lang.reflect.Method.invoke(Method.java:597) Sep 8 10:08:37 localhost.localdomain at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:421) Sep 8 10:08:37 localhost.localdomain at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:136) Sep 8 10:08:37 localhost.localdomain at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:271) Sep 8 10:08:37 localhost.localdomain at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.doHandle(AnnotationMethodHandlerAdapter.java:259) Sep 8 10:08:37 localhost.localdomain at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.handleAction(AnnotationMethodHandlerAdapter.java:210) Sep 8 10:08:37 localhost.localdomain at org.springframework.web.portlet.DispatcherPortlet.doActionService(DispatcherPortlet.java:694) Sep 8 10:08:37 localhost.localdomain at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:480) Sep 8 10:08:37 localhost.localdomain at org.springframework.web.portlet.FrameworkPortlet.processAction(FrameworkPortlet.java:462) Sep 8 10:08:37 localhost.localdomain at org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:218) Sep 8 10:08:37 localhost.localdomain at org.apache.pluto.core.PortletServlet.doPost(PortletServlet.java:145) Sep 8 10:08:37 localhost.localdomain at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) Sep 8 10:08:37 localhost.localdomain at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) Sep 8 10:08:37 localhost.localdomain at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) Sep 8 10:08:37 localhost.localdomain at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) Sep 8 10:08:37 localhost.localdomain at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) Sep 8 10:08:37 localhost.localdomain at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551) Sep 8 10:08:37 localhost.localdomain at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488) Sep 8 10:08:37 localhost.localdomain at org.apache.pluto.core.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:167) Sep 8 10:08:37 localhost.localdomain at org.apache.pluto.core.DefaultPortletInvokerService.action(DefaultPortletInvokerService.java:85) Sep 8 10:08:37 localhost.localdomain at org.apache.pluto.core.PortletContainerImpl.doAction(PortletContainerImpl.java:217) Sep 8 10:08:37 localhost.localdomain at org.jasig.portal.portlet.rendering.PortletRendererImpl.doAction(PortletRendererImpl.java:184) Sep 8 10:08:37 localhost.localdomain at org.jasig.portal.channels.portlet.SpringPortletChannelImpl.action(SpringPortletChannelImpl.java:260) Sep 8 10:08:37 localhost.localdomain at org.jasig.portal.channels.portlet.CSpringPortletAdaptor.processAction(CSpringPortletAdaptor.java:155) Sep 8 10:08:37 localhost.localdomain at org.jasig.portal.ChannelRenderer$Worker.execute(ChannelRenderer.java:524) Sep 8 10:08:37 localhost.localdomain at org.jasig.portal.utils.threading.BaseTask.run(BaseTask.java:41) Sep 8 10:08:37 localhost.localdomain at sun.reflect.GeneratedMethodAccessor207.invoke(Unknown Source) Sep 8 10:08:37 localhost.localdomain at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) Sep 8 10:08:37 localhost.localdomain at java.lang.reflect.Method.invoke(Method.java:597) Sep 8 10:08:37 localhost.localdomain at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) Sep 8 10:08:37 localhost.localdomain at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) Sep 8 10:08:37 localhost.localdomain at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) Sep 8 10:08:37 localhost.localdomain at org.springframework.orm.jpa.JpaInterceptor.invoke(JpaInterceptor.java:96) Sep 8 10:08:37 localhost.localdomain at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) Sep 8 10:08:37 localhost.localdomain at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) Sep 8 10:08:37 localhost.localdomain at org.jasig.portal.$Proxy145.run(Unknown Source) Sep 8 10:08:37 localhost.localdomain at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) Sep 8 10:08:37 localhost.localdomain at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) Sep 8 10:08:37 localhost.localdomain at java.util.concurrent.FutureTask.run(FutureTask.java:138) Sep 8 10:08:37 localhost.localdomain at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) Sep 8 10:08:37 localhost.localdomain at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) Sep 8 10:08:37 localhost.localdomain at java.lang.Thread.run(Thread.java:619) Sep 8 10:08:37 localhost.localdomain aused by: java.lang.NullPointerException Sep 8 10:08:37 localhost.localdomain at net.fortuna.ical4j.data.CalendarBuilder.startProperty(CalendarBuilder.java:332) Sep 8 10:08:37 localhost.localdomain at net.fortuna.ical4j.data.CalendarParserImpl.parseProperty(CalendarParserImpl.java:189) Sep 8 10:08:37 localhost.localdomain at net.fortuna.ical4j.data.CalendarParserImpl.parsePropertyList(CalendarParserImpl.java:163) Sep 8 10:08:37 localhost.localdomain at net.fortuna.ical4j.data.CalendarParserImpl.parseComponent(CalendarParserImpl.java:344) Sep 8 10:08:37 localhost.localdomain at net.fortuna.ical4j.data.CalendarParserImpl.parsePropertyList(CalendarParserImpl.java:160) Sep 8 10:08:37 localhost.localdomain at net.fortuna.ical4j.data.CalendarParserImpl.parse(CalendarParserImpl.java:112) Sep 8 10:08:37 localhost.localdomain ... 51 more Well it turns out that there are ical4j properties that can be set to change the way the parser behaves. If you make an ical4j.properties file like this... src/main/resources/ical4j.properties ---- start ---- # Known optional properties for ical4j: #net.fortuna.ical4j.parser=net.fortuna.ical4j.data.HCalendarParserFactory #net.fortuna.ical4j.timezone.registry=net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory #net.fortuna.ical4j.timezone.update.enabled={true|false} #net.fortuna.ical4j.timezone.date.floating={true|false} #net.fortuna.ical4j.factory.decoder=net.fortuna.ical4j.util.DefaultDecoderFactory #net.fortuna.ical4j.factory.encoder=net.fortuna.ical4j.util.DefaultEncoderFactory #net.fortuna.ical4j.recur.maxincrementcount=1000 #ical4j.unfolding.relaxed={true|false} #ical4j.parsing.relaxed={true|false} #ical4j.validation.relaxed={true|false} #ical4j.compatibility.outlook={true|false} #ical4j.compatibility.notes={true|false} # Values... ical4j.unfolding.relaxed=true ical4j.compatibility.outlook=true ical4j.compatibility.notes=true ---- end ---- I'll attach a copy of the properties file too.

    Apereo Issues | 6 years ago | Bruce Tong
    net.fortuna.ical4j.data.ParserException: Error at line 22: null
  2. 0

    Jasig Portlet Users - Calendar portlet getting user password in Liferay

    nabble.com | 1 year ago
    net.fortuna.ical4j.data.ParserException: Error at line 1:Expected [BEGIN], read [<html>]
  3. 0

    DavDroid failing to parse GEO: field

    GitHub | 2 years ago | mattcen
    at.bitfire.davdroid.resource.InvalidResourceException: net.fortuna.ical4j.data.ParserException: Error at line 37:Invalid long: "-3781\\"
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Calendar sync breaks when a repeating event is being removed/edited from the phone

    GitHub | 2 years ago | beji19
    at.bitfire.davdroid.resource.InvalidResourceException: net.fortuna.ical4j.data.ParserException: Error at line 25:Illegal property [ 31 ОТ ГПК\N\NСТРАНИ ПО ДЕЛОТО]
  6. 0

    net.fortuna.ical4j.data.ParserException: Error at line 15:Illegal property

    GitHub | 2 years ago | navanneethan
    net.fortuna.ical4j.data.ParserException: Error at line 15:Illegal property [ BOOK.COM] 09-22 16:00:10.050: W/System.err(20083): at net.fortuna.ical4j.data.CalendarParserImpl.parse(CalendarParserImpl.java:148)

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. net.fortuna.ical4j.data.ParserException

      Error at line 22: null

      at net.fortuna.ical4j.data.CalendarParserImpl.parse()
    2. iCal4j
      CalendarBuilder.build
      1. net.fortuna.ical4j.data.CalendarParserImpl.parse(CalendarParserImpl.java:135)
      2. net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:176)
      3. net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:157)
      4. net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:145)
      4 frames
    3. org.jasig.portlet
      AjaxCalendarController.getEventList
      1. org.jasig.portlet.calendar.processor.ICalendarContentProcessorImpl.getEvents(ICalendarContentProcessorImpl.java:72)
      2. org.jasig.portlet.calendar.adapter.ConfigurableHttpCalendarAdapter.getEvents(ConfigurableHttpCalendarAdapter.java:161)
      3. org.jasig.portlet.calendar.mvc.controller.AjaxCalendarController.getEventList(AjaxCalendarController.java:169)
      3 frames
    4. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      4. java.lang.reflect.Method.invoke(Method.java:597)
      4 frames
    5. Spring
      HandlerMethodInvoker.invokeHandlerMethod
      1. org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:421)
      2. org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:136)
      2 frames
    6. Spring Web Portlet
      FrameworkPortlet.processAction
      1. org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:271)
      2. org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.doHandle(AnnotationMethodHandlerAdapter.java:259)
      3. org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.handleAction(AnnotationMethodHandlerAdapter.java:210)
      4. org.springframework.web.portlet.DispatcherPortlet.doActionService(DispatcherPortlet.java:694)
      5. org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:480)
      6. org.springframework.web.portlet.FrameworkPortlet.processAction(FrameworkPortlet.java:462)
      6 frames
    7. Pluto Portlet Container
      PortletServlet.doPost
      1. org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:218)
      2. org.apache.pluto.core.PortletServlet.doPost(PortletServlet.java:145)
      2 frames
    8. JavaServlet
      HttpServlet.service
      1. javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
      2. javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      2 frames
    9. Glassfish Core
      ApplicationDispatcher.include
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      3. org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
      4. org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
      5. org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
      5 frames
    10. Pluto Portlet Container
      PortletContainerImpl.doAction
      1. org.apache.pluto.core.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:167)
      2. org.apache.pluto.core.DefaultPortletInvokerService.action(DefaultPortletInvokerService.java:85)
      3. org.apache.pluto.core.PortletContainerImpl.doAction(PortletContainerImpl.java:217)
      3 frames
    11. org.jasig.portal
      BaseTask.run
      1. org.jasig.portal.portlet.rendering.PortletRendererImpl.doAction(PortletRendererImpl.java:184)
      2. org.jasig.portal.channels.portlet.SpringPortletChannelImpl.action(SpringPortletChannelImpl.java:260)
      3. org.jasig.portal.channels.portlet.CSpringPortletAdaptor.processAction(CSpringPortletAdaptor.java:155)
      4. org.jasig.portal.ChannelRenderer$Worker.execute(ChannelRenderer.java:524)
      5. org.jasig.portal.utils.threading.BaseTask.run(BaseTask.java:41)
      5 frames
    12. Java RT
      Method.invoke
      1. sun.reflect.GeneratedMethodAccessor207.invoke(Unknown Source)
      2. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      3. java.lang.reflect.Method.invoke(Method.java:597)
      3 frames
    13. Spring AOP
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      2. org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      3. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      3 frames
    14. Spring ORM
      JpaInterceptor.invoke
      1. org.springframework.orm.jpa.JpaInterceptor.invoke(JpaInterceptor.java:96)
      1 frame
    15. Spring AOP
      JdkDynamicAopProxy.invoke
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      2. org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      2 frames
    16. org.jasig.portal
      $Proxy145.run
      1. org.jasig.portal.$Proxy145.run(Unknown Source)
      1 frame
    17. Java RT
      Thread.run
      1. java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      2. java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      3. java.util.concurrent.FutureTask.run(FutureTask.java:138)
      4. java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      5. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      6. java.lang.Thread.run(Thread.java:619)
      6 frames