audiobookshelf icon indicating copy to clipboard operation
audiobookshelf copied to clipboard

[Bug]: OPML import containing own feed == Server crash

Open AeliusSaionji opened this issue 1 year ago • 6 comments

Describe the issue

Mar 15 19:28:34 reServer audiobookshelf[1665003]: [2024-03-15 23:28:34.527] 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.
Mar 15 19:28:34 reServer audiobookshelf[1665003]: Please open an issue with this stack trace at https://github.com/nodejs/node/issues
Mar 15 19:28:34 reServer audiobookshelf[1665003]:
Mar 15 19:28:34 reServer audiobookshelf[1665003]:     at assert (node:internal/assert:14:11)
Mar 15 19:28:34 reServer audiobookshelf[1665003]:     at internalConnect (node:net:1037:3)
Mar 15 19:28:34 reServer audiobookshelf[1665003]:     at defaultTriggerAsyncIdScope (node:internal/async_hooks:464:18)
Mar 15 19:28:34 reServer audiobookshelf[1665003]:     at GetAddrInfoReqWrap.emitLookup [as callback] (node:net:1481:9)
Mar 15 19:28:34 reServer audiobookshelf[1665003]:     at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:130:8) {
Mar 15 19:28:34 reServer audiobookshelf[1665003]:   code: 'ERR_INTERNAL_ASSERTION'
Mar 15 19:28:34 reServer audiobookshelf[1665003]: } (Server.js:160)
Mar 15 19:28:34 reServer audiobookshelf[1665003]: node:internal/assert:14
Mar 15 19:28:34 reServer audiobookshelf[1665003]:     throw new ERR_INTERNAL_ASSERTION(message);
Mar 15 19:28:34 reServer audiobookshelf[1665003]:     ^
Mar 15 19:28:34 reServer audiobookshelf[1665003]:
Mar 15 19:28:34 reServer audiobookshelf[1665003]: Error [ERR_INTERNAL_ASSERTION]: This is caused by either a bug in Node.js or incorrect usage of Node.js internals.
Mar 15 19:28:34 reServer audiobookshelf[1665003]: Please open an issue with this stack trace at https://github.com/nodejs/node/issues
Mar 15 19:28:34 reServer audiobookshelf[1665003]:
Mar 15 19:28:34 reServer audiobookshelf[1665003]:     at assert (node:internal/assert:14:11)
Mar 15 19:28:34 reServer audiobookshelf[1665003]:     at internalConnect (node:net:1037:3)
Mar 15 19:28:34 reServer audiobookshelf[1665003]:     at defaultTriggerAsyncIdScope (node:internal/async_hooks:464:18)
Mar 15 19:28:34 reServer audiobookshelf[1665003]:     at GetAddrInfoReqWrap.emitLookup [as callback] (node:net:1481:9)
Mar 15 19:28:34 reServer audiobookshelf[1665003]:     at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:130:8) {
Mar 15 19:28:34 reServer audiobookshelf[1665003]:   code: 'ERR_INTERNAL_ASSERTION'
Mar 15 19:28:34 reServer audiobookshelf[1665003]: }
Mar 15 19:28:34 reServer audiobookshelf[1665003]:
Mar 15 19:28:34 reServer audiobookshelf[1665003]: Node.js v20.11.1

Steps to reproduce the issue

I can't publicly share the OPML, but it's an export from antennapod and it looks fine to me.

Audiobookshelf version

v2.8.0

How are you running audiobookshelf?

Docker

AeliusSaionji avatar Mar 15 '24 23:03 AeliusSaionji

I found the issue. Ironically, the problem is caused by the opml containing rss feeds hosted by my audiobookshelf.

AeliusSaionji avatar Mar 15 '24 23:03 AeliusSaionji

What do you mean hosted by your audiobookshelf? You are trying to import an OPML with feeds that are hosted on the same server you are importing?

advplyr avatar Mar 16 '24 18:03 advplyr

In searching that error I did find a recent node thread discussing a fix coming soon but I don't know if the error is the same since it's not giving us any information. https://github.com/nodejs/node/issues/47644

advplyr avatar Mar 16 '24 18:03 advplyr

Got the same error with v2.8.1 on docker container

<html><body>
<!--StartFragment-->
date | stream | content
-- | -- | --
2024/03/26 05:00:05 | stderr | Node.js v20.11.1
2024/03/26 05:00:05 | stderr |  
2024/03/26 05:00:05 | stderr | }
2024/03/26 05:00:05 | stderr | code: 'ERR_INTERNAL_ASSERTION'
2024/03/26 05:00:05 | stderr | at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:130:8) {
2024/03/26 05:00:05 | stderr | at GetAddrInfoReqWrap.emitLookup [as callback] (node:net:1481:9)
2024/03/26 05:00:05 | stderr | at defaultTriggerAsyncIdScope (node:internal/async_hooks:464:18)
2024/03/26 05:00:05 | stderr | at internalConnect (node:net:1037:3)
2024/03/26 05:00:05 | stderr | at assert (node:internal/assert:14:11)
2024/03/26 05:00:05 | stderr |  
2024/03/26 05:00:05 | stderr | Please open an issue with this stack trace at https://github.com/nodejs/node/issues
2024/03/26 05:00:05 | stderr | Error [ERR_INTERNAL_ASSERTION]: This is caused by either a bug in Node.js or incorrect usage of Node.js internals.
2024/03/26 05:00:05 | stderr |  
2024/03/26 05:00:05 | stderr | ^
2024/03/26 05:00:05 | stderr | throw new ERR_INTERNAL_ASSERTION(message);
2024/03/26 05:00:05 | stderr | node:internal/assert:14
2024/03/26 05:00:05 | stderr | } (Server.js:158)
2024/03/26 05:00:05 | stderr | code: 'ERR_INTERNAL_ASSERTION'
2024/03/26 05:00:05 | stderr | at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:130:8) {
2024/03/26 05:00:05 | stderr | at GetAddrInfoReqWrap.emitLookup [as callback] (node:net:1481:9)
2024/03/26 05:00:05 | stderr | at defaultTriggerAsyncIdScope (node:internal/async_hooks:464:18)
2024/03/26 05:00:05 | stderr | at internalConnect (node:net:1037:3)
2024/03/26 05:00:05 | stderr | at assert (node:internal/assert:14:11)
2024/03/26 05:00:05 | stderr |  
2024/03/26 05:00:05 | stderr | Please open an issue with this stack trace at https://github.com/nodejs/node/issues
2024/03/26 05:00:05 | stderr | [2024-03-25 21:00:05.723] 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.

<!--EndFragment-->
</body>
</html>

As a workaround, can I fall back to 2.7.x?

ahunigel avatar Mar 26 '24 04:03 ahunigel

Got the same error with v2.8.1 on docker container


<html><body>

<!--StartFragment-->

date | stream | content

-- | -- | --

2024/03/26 05:00:05 | stderr | Node.js v20.11.1

2024/03/26 05:00:05 | stderr |  

2024/03/26 05:00:05 | stderr | }

2024/03/26 05:00:05 | stderr | code: 'ERR_INTERNAL_ASSERTION'

2024/03/26 05:00:05 | stderr | at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:130:8) {

2024/03/26 05:00:05 | stderr | at GetAddrInfoReqWrap.emitLookup [as callback] (node:net:1481:9)

2024/03/26 05:00:05 | stderr | at defaultTriggerAsyncIdScope (node:internal/async_hooks:464:18)

2024/03/26 05:00:05 | stderr | at internalConnect (node:net:1037:3)

2024/03/26 05:00:05 | stderr | at assert (node:internal/assert:14:11)

2024/03/26 05:00:05 | stderr |  

2024/03/26 05:00:05 | stderr | Please open an issue with this stack trace at https://github.com/nodejs/node/issues

2024/03/26 05:00:05 | stderr | Error [ERR_INTERNAL_ASSERTION]: This is caused by either a bug in Node.js or incorrect usage of Node.js internals.

2024/03/26 05:00:05 | stderr |  

2024/03/26 05:00:05 | stderr | ^

2024/03/26 05:00:05 | stderr | throw new ERR_INTERNAL_ASSERTION(message);

2024/03/26 05:00:05 | stderr | node:internal/assert:14

2024/03/26 05:00:05 | stderr | } (Server.js:158)

2024/03/26 05:00:05 | stderr | code: 'ERR_INTERNAL_ASSERTION'

2024/03/26 05:00:05 | stderr | at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:130:8) {

2024/03/26 05:00:05 | stderr | at GetAddrInfoReqWrap.emitLookup [as callback] (node:net:1481:9)

2024/03/26 05:00:05 | stderr | at defaultTriggerAsyncIdScope (node:internal/async_hooks:464:18)

2024/03/26 05:00:05 | stderr | at internalConnect (node:net:1037:3)

2024/03/26 05:00:05 | stderr | at assert (node:internal/assert:14:11)

2024/03/26 05:00:05 | stderr |  

2024/03/26 05:00:05 | stderr | Please open an issue with this stack trace at https://github.com/nodejs/node/issues

2024/03/26 05:00:05 | stderr | [2024-03-25 21:00:05.723] 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.



<!--EndFragment-->

</body>

</html>

As a workaround, can I fall back to 2.7.x?

after roll back to 2.7.2, this issue didn't happen again.

ahunigel avatar Apr 08 '24 12:04 ahunigel

Is this still an issue on v2.9.0?

advplyr avatar May 20 '24 16:05 advplyr