You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by wt <wa...@gmail.com> on 2018/10/24 11:57:12 UTC

2.7 (.net) JavaException: class org.apache.ignite.binary.BinaryObjectException: Invalid flag value: 0

Not sure if there is something missing in the .net ignite side for 2.7

I have built 2.7 on a linux machine, copied it to my windows machine and can
launch it from the ignite.bat file no problem. I built the dotnet source as
well and referenced those in my current project (a winforms app). When the
client starts up it throws this

Apache.Ignite.Core.Binary.BinaryObjectException
  HResult=0x80131500
  Message=Invalid flag value: 0
  Source=Apache.Ignite.Core
  StackTrace:
   at Apache.Ignite.Core.Ignition.Start(IgniteConfiguration cfg) in
C:\Users\ww309\Downloads\ignite.dotnet.2.7\Apache.Ignite.Core\Ignition.cs:line
323
   at ClusterTool.classes.IgniteClient.StartClient() in
C:\temp\IgniteTool\ClusterTool\classes\IgniteClient.cs:line 24
   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.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

Inner Exception 1:
JavaException: class org.apache.ignite.binary.BinaryObjectException: Invalid
flag value: 0
        at
org.apache.ignite.internal.binary.BinaryUtils.unmarshal(BinaryUtils.java:1989)
        at
org.apache.ignite.internal.binary.BinaryReaderExImpl.readObjectDetached(BinaryReaderExImpl.java:1334)
        at
org.apache.ignite.internal.processors.platform.utils.PlatformConfigurationUtils.readIgniteConfiguration(PlatformConfigurationUtils.java:627)
        at
org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetConfigurationClosure.processPrepareResult(PlatformDotNetConfigurationClosure.java:199)
        at
org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetConfigurationClosure.prepare(PlatformDotNetConfigurationClosure.java:186)
        at
org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetConfigurationClosure.apply0(PlatformDotNetConfigurationClosure.java:113)
        at
org.apache.ignite.internal.processors.platform.PlatformAbstractConfigurationClosure.apply(PlatformAbstractConfigurationClosure.java:50)
        at
org.apache.ignite.internal.processors.platform.PlatformAbstractConfigurationClosure.apply(PlatformAbstractConfigurationClosure.java:27)
        at
org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:40)
        at
org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:75)





here is the place it throws this error


public static IIgnite Start(IgniteConfiguration cfg)
        {
            IgniteArgumentCheck.NotNull(cfg, "cfg");

            cfg = new IgniteConfiguration(cfg);  // Create a copy so that
config can be modified and reused.

            lock (SyncRoot)
            {
                // 0. Init logger
                var log = cfg.Logger ?? new JavaLogger();

                log.Debug("Starting Ignite.NET " +
Assembly.GetExecutingAssembly().GetName().Version);

                // 1. Check GC settings.
                CheckServerGc(cfg, log);

                // 2. Create context.
                JvmDll.Load(cfg.JvmDllPath, log);

                var cbs = IgniteManager.CreateJvmContext(cfg, log);
                var env = cbs.Jvm.AttachCurrentThread();
                log.Debug("JVM started.");

                var gridName = cfg.IgniteInstanceName;

                if (cfg.AutoGenerateIgniteInstanceName)
                {
                    gridName = (gridName ?? "ignite-instance-") +
Guid.NewGuid();
                }

                // 3. Create startup object which will guide us through the
rest of the process.
                _startup = new Startup(cfg, cbs);

                PlatformJniTarget interopProc = null;

                try
                {
                    // 4. Initiate Ignite start.
                    UU.IgnitionStart(env, cfg.SpringConfigUrl, gridName,
ClientMode, cfg.Logger != null, cbs.IgniteId,
                        cfg.RedirectJavaConsoleOutput);

                    // 5. At this point start routine is finished. We expect
STARTUP object to have all necessary data.
                    var node = _startup.Ignite;
                    interopProc = (PlatformJniTarget)node.InteropProcessor;

                    var javaLogger = log as JavaLogger;
                    if (javaLogger != null)
                    {
                        javaLogger.SetIgnite(node);
                    }

                    // 6. On-start callback (notify lifecycle components).
                    node.OnStart();

                    Nodes[new NodeKey(_startup.Name)] = node;

                    return node;
                }
                catch (Exception ex)
                {
                    // 1. Perform keys cleanup.
                    string name = _startup.Name;

                    if (name != null)
                    {
                        NodeKey key = new NodeKey(name);

                        if (Nodes.ContainsKey(key))
                            Nodes.Remove(key);
                    }

                    // 2. Stop Ignite node if it was started.
                    if (interopProc != null)
                        UU.IgnitionStop(gridName, true);

                    // 3. Throw error further (use startup error if exists
because it is more precise).
                    if (_startup.Error != null)
                    {
                        // Wrap in a new exception to preserve original
stack trace.
                        throw new IgniteException("Failed to start
Ignite.NET, check inner exception for details",
                            _startup.Error);
                    }

                    var jex = ex as JavaException;

                    if (jex == null)
                    {
                        throw;
                    }

                    throw ExceptionUtils.GetException(null, jex);
                }
                finally
                {
                    var ignite = _startup.Ignite;

                    _startup = null;

                    if (ignite != null)
                    {
                        ignite.ProcessorReleaseStart();
                    }
                }
            }
        } 



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: 2.7 (.net) JavaException: class org.apache.ignite.binary.BinaryObjectException: Invalid flag value: 0

Posted by wt <wa...@gmail.com>.
hi please ignore the issue has been resolved by getting the latest from the
nightly build



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: 2.7 (.net) JavaException: class org.apache.ignite.binary.BinaryObjectException: Invalid flag value: 0

Posted by akurbanov <an...@gmail.com>.
Hello,

One thing, since 2.7 is not released, could you please point out when did
you get 2.7, what was the latest commit?

Regards,
Anton



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/