Page 1 of 1

Bug - Possibly Recovery Timing Problem

Posted: Wed Jan 06, 2016 3:12 am
by sisyphus
Nadahar, remember the following comment in Issue #686:
→ Client Discovery of UMS can be excruciatingly slow.
→ Client operations are “inconsistent and non-repeatable”

And, I found a very interesting comment by "nradisch" in Issue #580:
Playing DVDs from a VIDEO_TS folder randomly fails.
A movie may play fine one day, then rufuse to play the next.
I can see no pattern.

I am unsure whether Issue #650 is related?

I am wondering whether there is a possible "timing problem" in the "error recovery/retry logic"?
The following code fragment in "net.pms.dlna.DVDISOTitle" is rather suspicious:
params.log = true;
final ProcessWrapperImpl pw = new ProcessWrapperImpl(cmd, params, true, false);
Runnable r = new Runnable() {
@Override
public void run() {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
}
pw.stopProcess();
}
};

In the attached "DEBUG.log" and "WRAPPER.log", I see MULTIPLE/MANY "Thread Restarts"!
And, I found it highly suspicious that a restarted "Thread 2" started IMMEDIATELY prior
to the failure of "Thread 1"! In my experience, Start/Stops of anything do not occur INSTANTANEOUSLY!
So, examine the following two entries from these logs carefully:
DEBUG 2016-01-04 10:42:59.570 [pool-11-thread-2] Starting C:\Program Files (x86)\Universal Media Server\win32\mplayer.exe -identify -endpos 0 -v -ao null -vc null -vo null -dvd-device N:\Videos\480 Video Title, Set 1, DISC 1\VIDEO_TS dvd://1
INFO 10:42:59.586 [pool-11-thread-1] Exception in thread "pool-11-thread-1" java.lang.NullPointerException