Skip to content

Uncaught exception due to malformed XML #212

@jogger2510

Description

@jogger2510

I tried the following feed that worked some time ago and now redirects to a login page:

https://capitallinkshipping.com/feed/

read(urls) blows up with an uncaught exception (stack trace below). The exception should be caught and logged in a way that enables the user to identify the culprit among possibly a large bunch of feeds passed to read() and ensures that processing of the other feeds continues.

Keep up the good work!

Stack trace:

Apr. 14, 2025 8:46:51 PM com.apptasticsoftware.rssreader.AbstractRssReader$RssItemIterator next
WARNUNG: Failed to parse XML.
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,3]
Message: Markup im Dokument vor dem Root-Element muss ordnungsgemäß formatiert sein.
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:652)
at com.apptasticsoftware.rssreader.AbstractRssReader$RssItemIterator.next(AbstractRssReader.java:693)
at com.apptasticsoftware.rssreader.AbstractRssReader$RssItemIterator.peekNext(AbstractRssReader.java:669)
at com.apptasticsoftware.rssreader.AbstractRssReader$RssItemIterator.hasNext(AbstractRssReader.java:678)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:132)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)
at com.apptasticsoftware.rssreader.internal.stream.AutoCloseStream.lambda$forEach$0(AutoCloseStream.java:135)
at com.apptasticsoftware.rssreader.internal.stream.AbstractAutoCloseStream.autoClose(AbstractAutoCloseStream.java:54)
at com.apptasticsoftware.rssreader.internal.stream.AutoCloseStream.forEach(AutoCloseStream.java:134)
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:197)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
at java.base/java.util.stream.Nodes$CollectorTask.doLeaf(Nodes.java:2191)
at java.base/java.util.stream.Nodes$CollectorTask.doLeaf(Nodes.java:2157)
at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327)
at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:759)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:676)
at java.base/java.util.stream.Nodes.collect(Nodes.java:327)
at java.base/java.util.stream.ReferencePipeline.evaluateToNode(ReferencePipeline.java:129)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:631)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:656)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:662)
at com.apptasticsoftware.rssreader.internal.stream.AbstractAutoCloseStream.autoClose(AbstractAutoCloseStream.java:54)
at com.apptasticsoftware.rssreader.internal.stream.AutoCloseStream.toArray(AutoCloseStream.java:150)
at java.base/java.util.stream.Stream.toList(Stream.java:1252)
at com.gero.Reader.Window.addItems(Window.java:122)
at com.gero.Reader.Window.actionPerformed(Window.java:116)
at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:311)
at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:243)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions