[Bug]: Failed to get podcast feed - [xmlToJSON] Error Error #2556

Closed
opened 2026-04-25 00:08:21 +02:00 by adam · 8 comments
Owner

Originally created by @galaxyfar on GitHub (Feb 7, 2025).

What happened?

When I try to add this particular podcast, it always throws "Failed to get podcast feed"

Adding other podcasts is always a breeze except this one. Not sure if this broken feed link or ABS issue.

What did you expect to happen?

Podcast be added without error.

Steps to reproduce the issue

  1. Search podcast "Market Huddle"
  2. Click to add

Audiobookshelf version

v2.19.0

How are you running audiobookshelf?

Docker

What OS is your Audiobookshelf server hosted from?

Linux

If the issue is being seen in the UI, what browsers are you seeing the problem on?

None

Logs

ERROR
[xmlToJSON] Error Error: Invalid character in entity name Line: 0 Column: 130 Char: = at error (/node_modules/sax/lib/sax.js:651:10) at strictFail (/node_modules/sax/lib/sax.js:677:7) at SAXParser.write (/node_modules/sax/lib/sax.js:1491:13) at exports.Parser.Parser.parseString (/node_modules/xml2js/lib/parser.js:327:31) at Parser.parseString (/node_modules/xml2js/lib/parser.js:5:59) at exports.parseString (/node_modules/xml2js/lib/parser.js:373:19) at /server/utils/index.js:51:5 at new Promise (<anonymous>) at xmlToJSON (/server/utils/index.js:50:10) at module.exports.parsePodcastRssFeedXml (/server/utils/podcastUtils.js:268:22)

ERROR
[podcastUtils] Invalid XML or RSS feed

Additional Notes

No response

Originally created by @galaxyfar on GitHub (Feb 7, 2025). ### What happened? When I try to add this particular podcast, it always throws "Failed to get podcast feed" Adding other podcasts is always a breeze except this one. Not sure if this broken feed link or ABS issue. ### What did you expect to happen? Podcast be added without error. ### Steps to reproduce the issue 1. Search podcast "Market Huddle" 2. Click to add ### Audiobookshelf version v2.19.0 ### How are you running audiobookshelf? Docker ### What OS is your Audiobookshelf server hosted from? Linux ### If the issue is being seen in the UI, what browsers are you seeing the problem on? None ### Logs ```shell ERROR [xmlToJSON] Error Error: Invalid character in entity name Line: 0 Column: 130 Char: = at error (/node_modules/sax/lib/sax.js:651:10) at strictFail (/node_modules/sax/lib/sax.js:677:7) at SAXParser.write (/node_modules/sax/lib/sax.js:1491:13) at exports.Parser.Parser.parseString (/node_modules/xml2js/lib/parser.js:327:31) at Parser.parseString (/node_modules/xml2js/lib/parser.js:5:59) at exports.parseString (/node_modules/xml2js/lib/parser.js:373:19) at /server/utils/index.js:51:5 at new Promise (<anonymous>) at xmlToJSON (/server/utils/index.js:50:10) at module.exports.parsePodcastRssFeedXml (/server/utils/podcastUtils.js:268:22) ERROR [podcastUtils] Invalid XML or RSS feed ``` ### Additional Notes _No response_
adam added the bug label 2026-04-25 00:08:21 +02:00
adam closed this issue 2026-04-25 00:08:21 +02:00
Author
Owner

@nichwall commented on GitHub (Feb 7, 2025):

What is the RSS feed?

@nichwall commented on GitHub (Feb 7, 2025): What is the RSS feed?
Author
Owner

@galaxyfar commented on GitHub (Feb 7, 2025):

What is the RSS feed?

If you search for "The Market Huddle" it show up on the top and then hit click on it to add, error pops up. This is using web interface.

@galaxyfar commented on GitHub (Feb 7, 2025): > What is the RSS feed? If you search for "The Market Huddle" it show up on the top and then hit click on it to add, error pops up. This is using web interface.
Author
Owner

@advplyr commented on GitHub (Feb 8, 2025):

That podcast works for me. Can you share the podcast feed url?

This is the podcasts RSS feed URL that comes up for me: https://markethuddle.com/feed/podcast/

It may be different for you if you changed the libraries podcast search region:

Image

@advplyr commented on GitHub (Feb 8, 2025): That podcast works for me. Can you share the podcast feed url? This is the podcasts RSS feed URL that comes up for me: https://markethuddle.com/feed/podcast/ It may be different for you if you changed the libraries podcast search region: ![Image](https://github.com/user-attachments/assets/0b3bd6f8-3ad2-4406-ad41-956716f28aff)
Author
Owner

@gadinbot commented on GitHub (Feb 19, 2025):

I'm also unable to get "The Market Huddle" podcast, i have my region also set to the "United States". its also still the same error as "Democracy Sausage" with the logs below.

2025-02-19 11:34:46.277

DEBUG

[iTunes] Podcast search for "The Market Huddle" returned 1 results

2025-02-19 11:34:48.374

DEBUG

[podcastUtils] getPodcastFeed for "https://markethuddle.com/feed/podcast/"

2025-02-19 11:34:48.380

FATAL

[Server] Uncaught exception origin: uncaughtException, error: Error [ERR_INTERNAL_ASSERTION]: This is caused by either a bug in Node.js or incorrect usage of Node.js internals. Please open an issue with this stack trace at https://github.com/nodejs/node/issues at assert (node:internal/assert:14:11) at internalConnectMultiple (node:net:1118:3) at defaultTriggerAsyncIdScope (node:internal/async_hooks:464:18) at GetAddrInfoReqWrap.emitLookup [as callback] (node:net:1510:7) at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:130:8) { code: 'ERR_INTERNAL_ASSERTION' }

2025-02-19 11:37:36.787

DEBUG

[iTunes] Searching for podcast with term "Democracy Sausage"

2025-02-19 11:37:36.917

DEBUG

[iTunes] Podcast search for "Democracy Sausage" returned 1 results

2025-02-19 11:37:39.090

DEBUG

[podcastUtils] getPodcastFeed for "https://feeds.acast.com/public/shows/2c2eab86-45bd-53ae-b72f-f474f0e08bc9"

2025-02-19 11:37:39.175

FATAL

[Server] Uncaught exception origin: uncaughtException, error: Error [ERR_INTERNAL_ASSERTION]: This is caused by either a bug in Node.js or incorrect usage of Node.js internals. Please open an issue with this stack trace at https://github.com/nodejs/node/issues at assert (node:internal/assert:14:11) at internalConnectMultiple (node:net:1118:3) at defaultTriggerAsyncIdScope (node:internal/async_hooks:464:18) at GetAddrInfoReqWrap.emitLookup [as callback] (node:net:1510:7) at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:130:8) { code: 'ERR_INTERNAL_ASSERTION' }

@gadinbot commented on GitHub (Feb 19, 2025): I'm also unable to get "The Market Huddle" podcast, i have my region also set to the "United States". its also still the same error as "Democracy Sausage" with the logs below. 2025-02-19 11:34:46.277 DEBUG [iTunes] Podcast search for "The Market Huddle" returned 1 results 2025-02-19 11:34:48.374 DEBUG [podcastUtils] getPodcastFeed for "https://markethuddle.com/feed/podcast/" 2025-02-19 11:34:48.380 FATAL [Server] Uncaught exception origin: uncaughtException, error: Error [ERR_INTERNAL_ASSERTION]: This is caused by either a bug in Node.js or incorrect usage of Node.js internals. Please open an issue with this stack trace at https://github.com/nodejs/node/issues at assert (node:internal/assert:14:11) at internalConnectMultiple (node:net:1118:3) at defaultTriggerAsyncIdScope (node:internal/async_hooks:464:18) at GetAddrInfoReqWrap.emitLookup [as callback] (node:net:1510:7) at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:130:8) { code: 'ERR_INTERNAL_ASSERTION' } 2025-02-19 11:37:36.787 DEBUG [iTunes] Searching for podcast with term "Democracy Sausage" 2025-02-19 11:37:36.917 DEBUG [iTunes] Podcast search for "Democracy Sausage" returned 1 results 2025-02-19 11:37:39.090 DEBUG [podcastUtils] getPodcastFeed for "https://feeds.acast.com/public/shows/2c2eab86-45bd-53ae-b72f-f474f0e08bc9" 2025-02-19 11:37:39.175 FATAL [Server] Uncaught exception origin: uncaughtException, error: Error [ERR_INTERNAL_ASSERTION]: This is caused by either a bug in Node.js or incorrect usage of Node.js internals. Please open an issue with this stack trace at https://github.com/nodejs/node/issues at assert (node:internal/assert:14:11) at internalConnectMultiple (node:net:1118:3) at defaultTriggerAsyncIdScope (node:internal/async_hooks:464:18) at GetAddrInfoReqWrap.emitLookup [as callback] (node:net:1510:7) at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:130:8) { code: 'ERR_INTERNAL_ASSERTION' }
Author
Owner

@galaxyfar commented on GitHub (Feb 19, 2025):

That podcast works for me. Can you share the podcast feed url?

This is the podcasts RSS feed URL that comes up for me: https://markethuddle.com/feed/podcast/

It may be different for you if you changed the libraries podcast search region:

Image

@advplyr thanks for checking. My region is in fact defaulted to the United States but I'm still getting error mentioned in my original post.

I tried to add this podcast by importing OPML, which works to at least get it added to the list but when looking for new episodes it throws the exact same xmlToJSON error. I'm at loss here how to debug this further. Let me know your thoughts what else I should look at? As a last resort, I might nuke the existing container, do a fresh installation and restore the database from backup.

@galaxyfar commented on GitHub (Feb 19, 2025): > That podcast works for me. Can you share the podcast feed url? > > This is the podcasts RSS feed URL that comes up for me: https://markethuddle.com/feed/podcast/ > > It may be different for you if you changed the libraries podcast search region: > > ![Image](https://github.com/user-attachments/assets/0b3bd6f8-3ad2-4406-ad41-956716f28aff) @advplyr thanks for checking. My region is in fact defaulted to the United States but I'm still getting error mentioned in my original post. I tried to add this podcast by importing OPML, which works to at least get it added to the list but when looking for new episodes it throws the exact same xmlToJSON error. I'm at loss here how to debug this further. Let me know your thoughts what else I should look at? As a last resort, I might nuke the existing container, do a fresh installation and restore the database from backup.
Author
Owner

@galaxyfar commented on GitHub (Feb 19, 2025):

Democracy Sausage

While the "The Market Huddle" podcast still remains pain in the ass for me.

I'm able to add and download episodes for "Democracy Sausage" without any problem. I suspect your issue is somewhat different judging by the error signature.

@galaxyfar commented on GitHub (Feb 19, 2025): > Democracy Sausage While the "The Market Huddle" podcast still remains pain in the ass for me. I'm able to add and download episodes for "Democracy Sausage" without any problem. I suspect your issue is somewhat different judging by the error signature.
Author
Owner

@advplyr commented on GitHub (Feb 20, 2025):

Can you press edit on the podcast and see what the feed URL is?

@advplyr commented on GitHub (Feb 20, 2025): Can you press edit on the podcast and see what the feed URL is?
Author
Owner

@galaxyfar commented on GitHub (Mar 18, 2025):

Can you press edit on the podcast and see what the feed URL is?

Sorry about the delayed response. URL feed was what you'd expect.

Today, I tried again and to my surprise I was able to add and download the podcast in question without any problem. Not sure what changed between now and them. Closing it for now. Thanks!

@galaxyfar commented on GitHub (Mar 18, 2025): > Can you press edit on the podcast and see what the feed URL is? Sorry about the delayed response. URL feed was what you'd expect. Today, I tried again and to my surprise I was able to add and download the podcast in question without any problem. Not sure what changed between now and them. Closing it for now. Thanks!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#2556