Code Monkey home page Code Monkey logo

Comments (5)

SubJunk avatar SubJunk commented on July 19, 2024

That idea is in #4010

from universalmediaserver.

SubJunk avatar SubJunk commented on July 19, 2024

I eventually got this error on that instance too the next day, but it wasn't happening at the time. Just posting here for completeness

WARN  2023-07-27 16:14:49.806 [pool-7-thread-23] Unhandled exception while resolving VideoName: Task net.pms.util.APIUtils$$Lambda$689/0x00000008016a3000@1bd03050 rejected from java.util.concurrent.ThreadPoolExecutor@5207a8a9[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 206]
DEBUG 2023-07-27 16:14:49.806 [pool-7-thread-23] 
java.util.concurrent.RejectedExecutionException: Task net.pms.util.APIUtils$$Lambda$689/0x00000008016a3000@1bd03050 rejected from java.util.concurrent.ThreadPoolExecutor@5207a8a9[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 206]
	at java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.reject(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.execute(Unknown Source)
	at net.pms.util.APIUtils.backgroundLookupAndAddMetadata(APIUtils.java:550)
	at net.pms.dlna.DLNAResource.setMetadataFromFileName(DLNAResource.java:5144)
	at net.pms.dlna.DLNAResource.syncResolve(DLNAResource.java:1528)
	at net.pms.dlna.RealFile.syncResolve(RealFile.java:444)
	at net.pms.dlna.DLNAResource.run(DLNAResource.java:1323)
	at net.pms.dlna.RealFile.isValid(RealFile.java:106)
	at net.pms.dlna.DLNAResource.addChild(DLNAResource.java:553)
	at net.pms.dlna.DLNAResource.addChild(DLNAResource.java:514)
	at net.pms.dlna.virtual.MediaLibraryFolder.doRefreshChildren(MediaLibraryFolder.java:686)
	at net.pms.dlna.DLNAResource.doRefreshChildren(DLNAResource.java:1440)
	at net.pms.dlna.DLNAResource.refreshChildren(DLNAResource.java:1470)
	at net.pms.dlna.DLNAResource.discoverWithRenderer(DLNAResource.java:1301)
	at net.pms.dlna.DLNAResource.getDLNAResources(DLNAResource.java:1115)
	at net.pms.dlna.DLNAResource.getDLNAResources(DLNAResource.java:1065)
	at net.pms.network.webguiserver.servlets.PlayerApiServlet.getMediaLibraryFolderChilds(PlayerApiServlet.java:582)
	at net.pms.network.webguiserver.servlets.PlayerApiServlet.getBrowsePage(PlayerApiServlet.java:451)
	at net.pms.network.webguiserver.servlets.PlayerApiServlet.doPost(PlayerApiServlet.java:219)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:517)
	at net.pms.network.webguiserver.GuiHttpServlet.service(GuiHttpServlet.java:42)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:584)
	at net.pms.network.httpserverservletcontainer.HttpHandlerServlet.handle(HttpHandlerServlet.java:37)
	at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
	at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(Unknown Source)
	at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
	at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(Unknown Source)
	at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
	at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)

from universalmediaserver.

SubJunk avatar SubJunk commented on July 19, 2024

I merged that fix candidate after testing that it still works, and I can't see any downsides to using that. However I'm not sure whether it fixes the problem because I don't have reproduction steps. I guess I will see if it happens again with this change

from universalmediaserver.

ik666 avatar ik666 commented on July 19, 2024

Hi Subjunk. I actually don't see the use of a lock here ... where is the concurrent access ?

from universalmediaserver.

SubJunk avatar SubJunk commented on July 19, 2024

The REALTIME_LOCK is used here to prioritize operations. So low-priority things wait for high-priority things

from universalmediaserver.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.