1. Last night i have synchronized my changes with Oxide github but i was not able to compile it due to unresolvable license problems with my VS 2015 CTP (unable to locate online license bla-bla).
    I uninstalled it and went to download Visual Studio again. I dloaded VS 2015 Release Candidate which is seems to be new (Preview is gone?).

    Works fine, Oxide is compiled well.
    But server doesn't boot up. After viewing main log i found this:
    Code:
    NullReferenceException: Object reference not set to an instance of an object
    at Oxide.Ext.Lua.LuaExtension.LoadPluginWatchers (System.String plugindir) [0x00000] in <filename unknown>:0
    at Oxide.Core.OxideMod.Load () [0x00000] in <filename unknown>:0
    at Oxide.Core.Interface.Initialize () [0x00000] in <filename unknown>:0
    at Bootstrap.Initialization () [0x00000] in <filename unknown>:0
    at Bootstrap+<Start>c__Iterator1.MoveNext () [0x00000] in <filename unknown>:0
    (Filename:  Line: -1)
    In Oxide log:
    Code:
    1:57 PM [Error] Failed to load extension Oxide.Ext.Lua (LuaException: unprotected error in call to Lua API (attempt to index a nil value))
    1:57 PM [Debug]   at NLua.Lua.PanicCallback (LuaState luaState) [0x00000] in <filename unknown>:0
    at (wrapper native-to-managed) NLua.Lua:PanicCallback (KeraLua.LuaState)
    at (wrapper managed-to-native) KeraLua.NativeMethods:LuaGetTable (intptr,int)
    at KeraLua.Lua.LuaGetTable (IntPtr luaState, Int32 index) [0x00000] in <filename unknown>:0
    at NLua.LuaLib.LuaGetTable (LuaState luaState, Int32 index) [0x00000] in <filename unknown>:0
    at NLua.Lua.SetObject (System.String[] remainingPath, System.Object val) [0x00000] in <filename unknown>:0
    at NLua.Lua.SetObject (Int32 reference, System.String field, System.Object val) [0x00000] in <filename unknown>:0
    at NLua.LuaTable.set_Item (System.String field, System.Object value) [0x00000] in <filename unknown>:0
    at Oxide.Ext.Lua.LuaExtension.InitializeLua () [0x00000] in <filename unknown>:0
    at Oxide.Ext.Lua.LuaExtension.Load () [0x00000] in <filename unknown>:0
    at Oxide.Core.Extensions.ExtensionManager.LoadExtension (System.String filename) [0x00000] in <filename unknown>:0 
    Racked my head for several hours in search of all possible causes. Replacing Oxide.Core from official build solves the problem. And then i found a working VS2015CTP on another Virtual Machine and compiled my Oxide.Core with it.
    The server boots again, problem is gone.

    Something wrong happens to Oxide.Core when compiling under Release Candidate.
    I of course understand that Oxide can't work fine everywhere, this thread is just to note about the possible problem.
     
    Last edited by a moderator: May 1, 2015
  2. Wulf

    Wulf Community Admin

    That's an odd one indeed. I was able to reproduce it, though it doesn't make much sense. It's likely a change with MSBuild. Our snapshots are built with Mono, so this would only affect test/custom builds.
     
  3. At least i found some slight difference, but have no idea what it is about. (RC on the left side)
    [​IMG]

    And i remember that i saw this type name just right before the Lua error.
    Code:
    <PrivateImplementationDetails><Oxide.Core.dll>+__StaticArrayInitTypeSize=6
    I added logging here just to see what's going on:
    Code:
                    //if (filter.IsMatch(type.Name)) continue;
                // Get the namespace table
                LuaTable nspacetable = GetNamespaceTable(Utility.GetNamespace(type));                // Bind the type
                // Log here
                if (type.IsNested)
                    nspacetable[Utility.GetTypeName(type)] = CreateTypeTable(type);
                else
                    nspacetable[type.Name] = CreateTypeTable(type);
    Not sure if it'll help. But anyway, all what i discovered.
    (p.s Maybe we need to use regex filter again?)
     
  4. Wulf

    Wulf Community Admin

    This was fixed a build not too long ago. The latest release should have it!
     
  5. Yup, now it's fine. That was due to lack of filtering.
    Thanks.