Repository: advplyr/audiobookshelf

Issue #3346: [Bug]: [podcastUtils] getPodcastFeed Error Error: getaddrinfo EAI_AGAIN feeds.lagedernation.org
Created: 2024-08-30T09:11:26Z
What happened?
The podcast "Lage der Nation" stopped working in abs. I deleted it and tried to re-add it without success. Either by searching for "lage der nation" or by adding "https://feeds.lagedernation.org/feeds/ldn-mp3.xml".
The logs say:
ERROR [podcastUtils] getPodcastFeed Error Error: getaddrinfo EAI_AGAIN feeds.lagedernation.org
What did you expect to happen?
This podcast can be added and episodes are downloaded.
Steps to reproduce the issue

Try to add "lage der nation" podcast
"Failed to get podcast feed" message appears
log messageg appears.

Audiobookshelf version
2.12.3
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
{"timestamp":"2024-08-30 09:09:35.347","source":"podcastUtils.js:229","message":"[podcastUtils] getPodcastFeed for \"https://feeds.lagedernation.org/feeds/ldn-mp3.xml\"","levelName":"DEBUG","level":1}

{"timestamp":"2024-08-30 09:09:40.352","source":"podcastUtils.js:269","message":"[podcastUtils] getPodcastFeed Error Error: getaddrinfo EAI_AGAIN feeds.lagedernation.org","levelName":"ERROR","level":4}
Additional Notes
Delete and re-add of podcast.
docker compose down and up.

Duplicate issue #4011: [Bug]: Error adding A Podcast (Lage der Nation)
Created: 2025-02-20T10:30:24Z
What happened?
When trying to add the "Lage der Nation" Podcast on v2.19.4, I get the error "Failed to get podcast feed".
This is the URL I used:
https://feeds.lagedernation.org/feeds/ldn-mp3.xml
Castfeedvalidator shows that the feed seems to be mostly fine: https://www.castfeedvalidator.com/validate.php?url=https://feeds.lagedernation.org/feeds/ldn-mp3.xml
There is only an error in the Media/File category. Could that be the reason? The error does not occur when downloading episodes though, but rather already when adding the podcast.
Please let me know how to better debug this or if this is something I can fix on my own.
What did you expect to happen?
The podcast should be added like the other podcasts I added before and after.
Steps to reproduce the issue

go to "add podcast"
paste this URL: https://feeds.lagedernation.org/feeds/ldn-mp3.xml
submit
wait for error message "Failed to get podcast feed

Audiobookshelf version
v2.19.4
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
[2025-02-20 11:18:14.634] ERROR: [podcastUtils] getPodcastFeed Error AxiosError: getaddrinfo EAI_AGAIN feeds.lagedernation.org
    at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:120:26) {
  hostname: 'feeds.lagedernation.org',
  syscall: 'getaddrinfo',
  code: 'EAI_AGAIN',
  errno: -3001,
  config: {
    transitional: {
      silentJSONParsing: true,
      forcedJSONParsing: true,
      clarifyTimeoutError: false
    },
    adapter: [Function: httpAdapter],
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 30000,
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    maxBodyLength: -1,
    env: { FormData: [Function] },
    validateStatus: [Function: validateStatus],
    headers: {
      Accept: 'application/rss+xml, application/xhtml+xml, application/xml, */*;q=0.8',
      'Accept-Encoding': 'gzip, compress, deflate',
      'User-Agent': 'audiobookshelf (+https://audiobookshelf.org; like iTMS)'
    },
    url: 'https://feeds.lagedernation.org/feeds/ldn-mp3.xml',
    method: 'get',
    responseType: 'arraybuffer',
    httpAgent: Agent {
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      defaultPort: 443,
      protocol: 'https:',
      options: [Object: null prototype],
      requests: [Object: null prototype] {},
      sockets: [Object: null prototype] {},
      freeSockets: [Object: null prototype] {},
      keepAliveMsecs: 1000,
      keepAlive: false,
      maxSockets: Infinity,
      maxFreeSockets: 256,
      scheduling: 'lifo',
      maxTotalSockets: Infinity,
      totalSocketCount: 0,
      maxCachedSessions: 100,
      _sessionCache: [Object],
      createConnection: [Function (anonymous)],
      [Symbol(shapeMode)]: false,
      [Symbol(kCapture)]: false,
      [Symbol(active)]: true
    },
    httpsAgent: Agent {
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      defaultPort: 443,
      protocol: 'https:',
      options: [Object: null prototype],
      requests: [Object: null prototype] {},
      sockets: [Object: null prototype],
      freeSockets: [Object: null prototype] {},
      keepAliveMsecs: 1000,
      keepAlive: false,
      maxSockets: Infinity,
      maxFreeSockets: 256,
      scheduling: 'lifo',
      maxTotalSockets: Infinity,
      totalSocketCount: 1,
      maxCachedSessions: 100,
      _sessionCache: [Object],
      createConnection: [Function (anonymous)],
      [Symbol(shapeMode)]: false,
      [Symbol(kCapture)]: false,
      [Symbol(active)]: true
    },
    data: undefined
  },
  request: <ref *1> Writable {
    _events: {
      close: undefined,
      error: [Function: handleRequestError],
      prefinish: undefined,
      finish: undefined,
      drain: undefined,
      response: [Function: handleResponse],
      socket: [Array],
      timeout: undefined,
      abort: undefined
    },
    _writableState: WritableState {
      highWaterMark: 16384,
      length: 0,
      corked: 0,
      onwrite: [Function: bound onwrite],
      writelen: 0,
      bufferedIndex: 0,
      pendingcb: 0,
      [Symbol(kState)]: 17580812,
      [Symbol(kBufferedValue)]: null
    },
    _maxListeners: undefined,
    _options: {
      maxRedirects: 21,
      maxBodyLength: 10485760,
      protocol: 'https:',
      path: '/feeds/ldn-mp3.xml',
      method: 'GET',
      headers: [Object],
      agent: [Agent],
      agents: [Object],
      auth: undefined,
      hostname: 'feeds.lagedernation.org',
      port: null,
      nativeProtocols: [Object],
      pathname: '/feeds/ldn-mp3.xml'
    },
    _ended: true,
    _ending: true,
    _redirectCount: 0,
    _redirects: [],
    _requestBodyLength: 0,
    _requestBodyBuffers: [],
    _eventsCount: 3,
    _onNativeResponse: [Function (anonymous)],
    _currentRequest: ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 7,
      _maxListeners: undefined,
      outputData: [],
      outputSize: 0,
      writable: true,
      destroyed: false,
      _last: true,
      chunkedEncoding: false,
      shouldKeepAlive: false,
      maxRequestsOnConnectionReached: false,
      _defaultKeepAlive: true,
      useChunkedEncodingByDefault: false,
      sendDate: false,
      _removedConnection: false,
      _removedContLen: false,
      _removedTE: false,
      strictContentLength: false,
      _contentLength: 0,
      _hasBody: true,
      _trailer: '',
      finished: true,
      _headerSent: true,
      _closed: false,
      socket: [TLSSocket],
      _header: 'GET /feeds/ldn-mp3.xml HTTP/1.1\r\n' +
        'Accept: application/rss+xml, application/xhtml+xml, application/xml, */*;q=0.8\r\n' +
        'Accept-Encoding: gzip, compress, deflate\r\n' +
        'User-Agent: audiobookshelf (+https://audiobookshelf.org; like iTMS)\r\n' +
        'Host: feeds.lagedernation.org\r\n' +
        'Connection: close\r\n' +
        '\r\n',
      _keepAliveTimeout: 0,
      _onPendingData: [Function: nop],
      agent: [Agent],
      socketPath: undefined,
      method: 'GET',
      maxHeaderSize: undefined,
      insecureHTTPParser: undefined,
      joinDuplicateHeaders: undefined,
      path: '/feeds/ldn-mp3.xml',
      _ended: false,
      res: null,
      aborted: false,
      timeoutCb: null,
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      reusedSocket: false,
      host: 'feeds.lagedernation.org',
      protocol: 'https:',
      _redirectable: [Circular *1],
      [Symbol(shapeMode)]: false,
      [Symbol(kCapture)]: false,
      [Symbol(kBytesWritten)]: 0,
      [Symbol(kNeedDrain)]: false,
      [Symbol(corked)]: 0,
      [Symbol(kOutHeaders)]: [Object: null prototype],
      [Symbol(errored)]: null,
      [Symbol(kHighWaterMark)]: 16384,
      [Symbol(kRejectNonStandardBodyWrites)]: false,
      [Symbol(kUniqueHeaders)]: null
    },
    _currentUrl: 'https://feeds.lagedernation.org/feeds/ldn-mp3.xml',
    _timeout: null,
    [Symbol(shapeMode)]: true,
    [Symbol(kCapture)]: false
  }
}
Additional Notes
No response

Closing comment (2025-02-20T13:06:31Z): Duplicate of #3346 (comment), which has the steps needed to fix it. It is an issue with their DNS.