Gravatar for shirazi@rdacorp.com

Question by aga, Mar 7, 2016 3:56 PM

Post Conversion Script failure

HI

I've created a PostConversionScript written in .net and it's working fine in our current environment, We're morning to a new environment and that new Coveo vm is failing when executing the conversion script. Here's the error in the logs:

class CoveoConvertersNS::InvalidPostConversionException: Error creating the .NET converter loader: The parameter is incorrect.

I've verified that both environments have .net framework 3.5, 4 and 4.5.

Any ideas on what's going on?

Thanks

UPDATE 1: Here's the conversion script

The type name on the definition of the script is Infrastructure.CoveoPostProcessor and Script Language is .NET. Also I do not have any parameters set.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Coveo.CES.DotNetConverterLoader;
using Coveo.CES.Interops.COMCoveoConvertersWrappers;

namespace Infrastructure
{
    public class CoveoPostProcessor : CustomConverter
    {

        public override void RunPostConverter(PostConversion p_PostConversion, DocumentInfo p_DocumentInfo)
        {
            p_PostConversion.Trace("[PostProcessing] Start: " + p_DocumentInfo.GetFieldValue("item_id"), SeverityEnumeration.SeverityImportant);

        }
    }
}
Gravatar for gminero@coveo.com

Comment by gminero, Mar 7, 2016 4:13 PM

Would it be possible for you to upload/share the conversion script, please feel free to grey out any sensitive information.

Thanks

1 Reply
Gravatar for gdenhez@coveo.com

Answer by gdenhez, Mar 7, 2016 5:06 PM

It's an error registering the "DotNetConverterLoader", which is a COM object used to run the scripts written in .NET.

  1. Try to switch in read-only then back in read-write mode, or restart the service. Most of the time, this solve the issue.
  2. If step 1 didn't solve the issue, it may be an installation problem. Try to uninstall and re-install CES (n.b. you don't have to delete the index)

Since we don't know why this issue occurs, you can enable the fusion logs in case it happens again, to help us fix it. To do this, you can add this to the registry (change the LogPath if needed):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion]
"ViewerAttributes"=dword:56300949
"LogPath"="D:\\FusionLogs"
"LogFailures"=dword:00000001

Keep them enabled for some time, and if you reproduce the issue, send them back to us. To disable them, just remove the value "LogFailures" in the registry:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion]
"ViewerAttributes"=dword:56300949
"LogPath"="D:\\FusionLogs\\"
Ask a question