Test script errors

You have a question or need an advice about how to do something? Ask it here!
Post Reply
User avatar
hdradio
Posts: 625
Joined: 10 Apr 2012 17:36
Location: Crete, Hellas
Test script errors

Post by hdradio »

Just for info:
Today I tried to test a script by clicking "Test" button on Script Library Editor.
I did it 2 times.
The first time it took more than 10 minutes (in fact I don't know how long because I couldn't wait and came back to pc later) and there were the following errors:

Code: Select all

19/06/2018 07:23:33: Rescan All Empty TAG Data completed for Ελληνικά: NumEntriesChecked=54443, NumTAGsReRead=0, NumDeadEntries=0
19/06/2018 07:27:01: System.Xml.XmlException
Unexpected end of file while parsing Name has occurred. Line 1, position 388.
   at n8.jC.AcLK(Object  , FirstChanceExceptionEventArgs  )
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseQName(Boolean isQName, Int32 startOffset, Int32& colonPos)
   at System.Xml.XmlTextReaderImpl.HandleEntityReference(Boolean isInAttributeValue, EntityExpandType expandType, Int32& charRefEndPos)
   at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
   at System.Xml.XmlTextReaderImpl.FinishPartialValue()
   at System.Xml.XmlTextReaderImpl.get_Value()
   at System.Xml.XmlReader.InternalReadContentAsString()
   at System.Xml.XmlSubtreeReader.ReadContentAsString()
   at System.Xml.XmlReader.ReadElementContentAsString()
   at ProppFrexx.MediaEntry.ReadMetaData(XmlReader reader, TAG_INFO tag)
   at ProppFrexx.MediaEntry.ReadMetaDataFromString(String xmlData, TAG_INFO tag)
   at ProppFrexx.MediaEntry.ReadTagInfo(Boolean force, Int32 stream)
   at ProppFrexx.MediaEntry.GetTagInfo(Boolean force, Int32 stream)
   at ProppFrexx.CriterionMediaEntry.get_Genre()
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.SecurityUtils.MethodInfoInvoke(MethodInfo method, Object target, Object[] args)
   at System.ComponentModel.ReflectPropertyDescriptor.GetValue(Object component)
   at DevExpress.Data.Filtering.Helpers.EvaluatorContextDescriptorDefault.GetPropertyValue(Object source, String property, Boolean isPath)
   at DevExpress.Data.Filtering.Helpers.EvaluatorContextDescriptorDefault.GetPropertyValue(Object source, EvaluatorProperty propertyPath)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCore.DevExpress.Data.Filtering.IClientCriteriaVisitor<System.Object>.Visit(OperandProperty theOperand)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Process(CriteriaOperator operand)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.FnCustom(FunctionOperator theOperator)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.DevExpress.Data.Filtering.ICriteriaVisitor<System.Object>.Visit(FunctionOperator theOperator)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Process(CriteriaOperator operand)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.DevExpress.Data.Filtering.ICriteriaVisitor<System.Object>.Visit(GroupOperator theOperator)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Process(CriteriaOperator operand)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Evaluate(EvaluatorContext evaluationContext, CriteriaOperator evaluatorCriteria, IComparer customComparer)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Fit(EvaluatorContext evaluationContext, CriteriaOperator filterCriteria)
   at ProppFrexx.FilterHelper.DoMatchCriteriaOperator(MediaEntry entry, Boolean forceTAGs, Int32& tagsRead)
   at ProppFrexx.FilterHelper.DoMatch(MediaEntry entry, Boolean forceTAGs, Int32& tagsRead)
   at ProppFrexx.FilterHelper.DoMatch(MediaEntry entry, Boolean forceTAGs)
   at ProppFrexx.MediaLibraryFile.GetTrackRandom(Boolean checkhistory, FilterHelper filter, MediaLibraryGetRandomMode randomMode, Nullable`1 targetDuration, Boolean checkGlobalHistory)
   at ProppFrexx.ScriptLibrary.GetNextTracks(Object prog, DateTime lastScheduleTime, DateTime nextScheduleTime, Int32 scriptLine)
   at ProppFrexx.ScriptTester.<>c__DisplayClass8_0.<PerformTest>b__1()
   at System.Threading.Tasks.Task.Execute()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
   at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()


19/06/2018 07:27:01: System.Xml.XmlException
An error occurred while parsing EntityName. Line 1, position 385.
   at n8.jC.AcLK(Object  , FirstChanceExceptionEventArgs  )
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.HandleEntityReference(Boolean isInAttributeValue, EntityExpandType expandType, Int32& charRefEndPos)
   at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
   at System.Xml.XmlTextReaderImpl.FinishPartialValue()
   at System.Xml.XmlTextReaderImpl.get_Value()
   at System.Xml.XmlReader.InternalReadContentAsString()
   at System.Xml.XmlSubtreeReader.ReadContentAsString()
   at System.Xml.XmlReader.ReadElementContentAsString()
   at ProppFrexx.MediaEntry.ReadMetaData(XmlReader reader, TAG_INFO tag)
   at ProppFrexx.MediaEntry.ReadMetaDataFromString(String xmlData, TAG_INFO tag)
   at ProppFrexx.MediaEntry.ReadTagInfo(Boolean force, Int32 stream)
   at ProppFrexx.MediaEntry.GetTagInfo(Boolean force, Int32 stream)
   at ProppFrexx.CriterionMediaEntry.get_Genre()
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.SecurityUtils.MethodInfoInvoke(MethodInfo method, Object target, Object[] args)
   at System.ComponentModel.ReflectPropertyDescriptor.GetValue(Object component)
   at DevExpress.Data.Filtering.Helpers.EvaluatorContextDescriptorDefault.GetPropertyValue(Object source, String property, Boolean isPath)
   at DevExpress.Data.Filtering.Helpers.EvaluatorContextDescriptorDefault.GetPropertyValue(Object source, EvaluatorProperty propertyPath)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCore.DevExpress.Data.Filtering.IClientCriteriaVisitor<System.Object>.Visit(OperandProperty theOperand)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Process(CriteriaOperator operand)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.FnCustom(FunctionOperator theOperator)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.DevExpress.Data.Filtering.ICriteriaVisitor<System.Object>.Visit(FunctionOperator theOperator)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Process(CriteriaOperator operand)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.DevExpress.Data.Filtering.ICriteriaVisitor<System.Object>.Visit(GroupOperator theOperator)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Process(CriteriaOperator operand)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Evaluate(EvaluatorContext evaluationContext, CriteriaOperator evaluatorCriteria, IComparer customComparer)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Fit(EvaluatorContext evaluationContext, CriteriaOperator filterCriteria)
   at ProppFrexx.FilterHelper.DoMatchCriteriaOperator(MediaEntry entry, Boolean forceTAGs, Int32& tagsRead)
   at ProppFrexx.FilterHelper.DoMatch(MediaEntry entry, Boolean forceTAGs, Int32& tagsRead)
   at ProppFrexx.FilterHelper.DoMatch(MediaEntry entry, Boolean forceTAGs)
   at ProppFrexx.MediaLibraryFile.GetTrackRandom(Boolean checkhistory, FilterHelper filter, MediaLibraryGetRandomMode randomMode, Nullable`1 targetDuration, Boolean checkGlobalHistory)
   at ProppFrexx.ScriptLibrary.GetNextTracks(Object prog, DateTime lastScheduleTime, DateTime nextScheduleTime, Int32 scriptLine)
   at ProppFrexx.ScriptTester.<>c__DisplayClass8_0.<PerformTest>b__1()
   at System.Threading.Tasks.Task.Execute()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
   at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()


19/06/2018 07:27:01: System.Xml.XmlException
An error occurred while parsing EntityName. Line 1, position 385.
   at n8.jC.AcLK(Object  , FirstChanceExceptionEventArgs  )
   at System.Xml.XmlSubtreeReader.ReadContentAsString()
   at System.Xml.XmlReader.ReadElementContentAsString()
   at ProppFrexx.MediaEntry.ReadMetaData(XmlReader reader, TAG_INFO tag)
   at ProppFrexx.MediaEntry.ReadMetaDataFromString(String xmlData, TAG_INFO tag)
   at ProppFrexx.MediaEntry.ReadTagInfo(Boolean force, Int32 stream)
   at ProppFrexx.MediaEntry.GetTagInfo(Boolean force, Int32 stream)
   at ProppFrexx.CriterionMediaEntry.get_Genre()
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.SecurityUtils.MethodInfoInvoke(MethodInfo method, Object target, Object[] args)
   at System.ComponentModel.ReflectPropertyDescriptor.GetValue(Object component)
   at DevExpress.Data.Filtering.Helpers.EvaluatorContextDescriptorDefault.GetPropertyValue(Object source, String property, Boolean isPath)
   at DevExpress.Data.Filtering.Helpers.EvaluatorContextDescriptorDefault.GetPropertyValue(Object source, EvaluatorProperty propertyPath)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCore.DevExpress.Data.Filtering.IClientCriteriaVisitor<System.Object>.Visit(OperandProperty theOperand)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Process(CriteriaOperator operand)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.FnCustom(FunctionOperator theOperator)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.DevExpress.Data.Filtering.ICriteriaVisitor<System.Object>.Visit(FunctionOperator theOperator)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Process(CriteriaOperator operand)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.DevExpress.Data.Filtering.ICriteriaVisitor<System.Object>.Visit(GroupOperator theOperator)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Process(CriteriaOperator operand)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Evaluate(EvaluatorContext evaluationContext, CriteriaOperator evaluatorCriteria, IComparer customComparer)
   at DevExpress.Data.Filtering.Helpers.ExpressionEvaluatorCoreBase.Fit(EvaluatorContext evaluationContext, CriteriaOperator filterCriteria)
   at ProppFrexx.FilterHelper.DoMatchCriteriaOperator(MediaEntry entry, Boolean forceTAGs, Int32& tagsRead)
   at ProppFrexx.FilterHelper.DoMatch(MediaEntry entry, Boolean forceTAGs, Int32& tagsRead)
   at ProppFrexx.FilterHelper.DoMatch(MediaEntry entry, Boolean forceTAGs)
   at ProppFrexx.MediaLibraryFile.GetTrackRandom(Boolean checkhistory, FilterHelper filter, MediaLibraryGetRandomMode randomMode, Nullable`1 targetDuration, Boolean checkGlobalHistory)
   at ProppFrexx.ScriptLibrary.GetNextTracks(Object prog, DateTime lastScheduleTime, DateTime nextScheduleTime, Int32 scriptLine)
   at ProppFrexx.ScriptTester.<>c__DisplayClass8_0.<PerformTest>b__1()
   at System.Threading.Tasks.Task.Execute()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
   at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

The second time the test completed in 5 seconds without errors.
User avatar
hdradio
Posts: 625
Joined: 10 Apr 2012 17:36
Location: Crete, Hellas
Re: Test script errors

Post by hdradio »

Now I notice that there is one more problem here:
The artist / title do not show on some records:
ScreenShot001.png
For the title it shows a genre that does not match to the script line.
User avatar
hdradio
Posts: 625
Joined: 10 Apr 2012 17:36
Location: Crete, Hellas
Re: Test script errors

Post by hdradio »

I tried IsNullOrEmpty([Rating]) but it did not return any tracks.
The same to IsNullOrEmpty([Artist]) and IsNullOrEmpty([Title]). 0 tracks.
When I open with tag editor any of the files that show without Artist or Title everything shows correctly.
User avatar
hdradio
Posts: 625
Joined: 10 Apr 2012 17:36
Location: Crete, Hellas
Re: Test script errors

Post by hdradio »

I believe it's bug because it always happens on the first script line.
User avatar
radio42
Site Admin
Posts: 8295
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: Test script errors

Post by radio42 »

I don't know, if it is a bug, as I cannot reproduce it here! I more believe it might be an issue in your media lib.
Maybe it is because of being a track having such meta data tag corruption I was talking before?!
So,
please send me the related physical audio tracks associated to your 1st script-line and how you used them in a media library (is it a playlist or folder based one)?
If it is a playlist based media lib, please also send me the related .pfp playlist file.
If it is a folder based media lib, can you please send me the related _synced_.pfp file contained in the media lib root folder.

If all the tag data shows well in the TAG Editor, you might even try to run a RESCAN of this media lib - to refresh the tag data in the media libs... have you tried that already?
User avatar
radio42
Site Admin
Posts: 8295
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: Test script errors

Post by radio42 »

An internal action to perform a rescan of TAG data is executed automatically for each 'Get Sequential or Random Track' in case your media library in question ("Ελληνικά") contains more than 200 track without ANY TAG data at all (empty TAGs).
In such case a rescan off all these 'empty' tracks is issued.

So the log file you posted now includes the information (no real error!, as this is just a FirstChanceException, which I do handle gracefully), that this rescan failed for various tracks, because the meta data information is corrupt and therefore could not be read!
In the log I do not put the information, for which audio files this fails, as I do not considered this as critical.

However, some of your tracks in the media lib "Ελληνικά" do contain no valid/corrupt meta data information.
Unfortunately I do not log which exact files.
However, you might find those track for example using the Find Window using this find text: IsNullOrEmpty([Rating])

You might than send me some of your audio tracks (e.g. also a few where the Artist/Title is missing) to take a look at, where/why the meta data is corrupt.
User avatar
hdradio
Posts: 625
Joined: 10 Apr 2012 17:36
Location: Crete, Hellas
Re: Test script errors

Post by hdradio »

Yes I have rescanned my media library. Same problem. I 've sent you the files asked.
User avatar
hdradio
Posts: 625
Joined: 10 Apr 2012 17:36
Location: Crete, Hellas
Re: Test script errors

Post by hdradio »

Oh yes !!!
I had never used this option. I don't remember when I did that.

That solves my problem. Thank you !!!
User avatar
radio42
Site Admin
Posts: 8295
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: Test script errors

Post by radio42 »

Well, looking at your script, you have explicitly set the song title of the first script-line to be "Ακουστικό" !
This is the reason, why you ONLY see this entry, but not the effective "Artist - Title" of the real underlying/returned audio track.

So please remove the explicit 'Song Title' from the first script-line and you will again see the full Artist and Title.

Post Reply