NeutroniumCore / Neutronium

🚀 Build .NET desktop applications using HTML, CSS and javascript.
https://neutroniumcore.github.io/Neutronium/
MIT License
1.35k stars 121 forks source link

'One or more errors occurred' on updating View Model properties #108

Closed NOHJ-1 closed 5 years ago

NOHJ-1 commented 5 years ago

I am developing a data editor but I am having exceptions on updating the view model:

DataContentCreator.exe Error: 0 : Neutronium - Error: WebView crashed trying recover
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/index.html
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/css/app.css
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/js/app.js
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/js/chunk-vendors.js
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/css/chunk-vendors.css
The thread 0x3a00 has exited with code 0 (0x0).
DataContentCreator.exe Information: 0 : Neutronium - Info: Exception encountered during task dispatch: Chromium.CfxRemotingException: Remote connection lost. ---> System.IO.EndOfStreamException: Unexpected end of stream.
   at Chromium.Remote.StreamHandler.FillReadBuffer(Int32 count)
   at Chromium.Remote.RemoteConnection.ReadLoop()
   at Chromium.Remote.RemoteConnection.ReadLoopEntry()
   --- End of inner exception stack trace ---
   at Chromium.Remote.RemoteCall.RequestExecution(RemoteConnection connection)
   at Chromium.Remote.CfrV8Value.CreateUndefined()
   at Neutronium.WebBrowserEngine.ChromiumFx.V8Object.ChromiumFXJavascriptRoot.Invoke(String functionName, IWebView context, IJavascriptObject[] parameters)
   at Neutronium.JavascriptFramework.Vue.VueJavascriptSessionInjector.RegisterMainViewModel(IJavascriptObject jsObject)
   at Neutronium.Core.Binding.BidirectionalMapper.RegisterMain(IJavascriptObject res)
   at Neutronium.WebBrowserEngine.ChromiumFx.EngineBinding.ChromiumFxDispatcher.<>c__DisplayClass15_0`1.<ToTaskAction>g__Result|0()
DataContentCreator.exe Information: 0 : Neutronium - Info: Problem in exiting chromiumFx context : Chromium.CfxRemotingException: Remote connection lost. ---> System.IO.EndOfStreamException: Unexpected end of stream.
   at Chromium.Remote.StreamHandler.FillReadBuffer(Int32 count)
   at Chromium.Remote.RemoteConnection.ReadLoop()
   at Chromium.Remote.RemoteConnection.ReadLoopEntry()
   --- End of inner exception stack trace ---
   at Chromium.Remote.RemoteCall.RequestExecution(RemoteConnection connection)
   at Chromium.Remote.CfrV8Context.Exit()
   at Neutronium.WebBrowserEngine.ChromiumFx.EngineBinding.ChromiumFxDispatcher.ChromiumFxContext.Dispose()
Neutronium - Browser Log: Message: Neutronium: ViewModel injected, source: , line number: 8699, page: https://application/View/dist/index.html#/main
An unhandled exception of type 'System.AggregateException' occurred in mscorlib.dll
One or more errors occurred.

My cjson looks like this when I have yet to load a file to edit (this based from the Neutronium SPA Template, nothing much has been changed):

{
    "ViewModel": {
        "ApplicationInformation": {
            "MadeBy": "Nohj",
            "Name": "Data Content Creator",
            "Version": "1.0.0.0",
            "Year": 2019
        },
        "CurrentViewModel": {},
        "Editor": {
            "CurrentlySelectedTreeItem": null,
            "Session": null,
            "SingleItemCollection": null
        },
        "Modal": null,
        "Notification": null,
        "Router": {
            "AfterResolveCommand": "cmd(true)",
            "BeforeResolveCommand": "cmd(true)",
            "Route": "main"
        },
        "Window": {
            "Close": "cmd(true)",
            "Maximize": "cmd(true)",
            "Minimize": "cmd(true)",
            "Normalize": "cmd(true)",
            "State": {
                "type": "WindowState",
                "intValue": 0,
                "name": "Normal",
                "displayName": "Normal"
            }
        }
    },
    "Window": {
        "CloseReady": "cmd(true)",
        "EndOpen": "cmd(true)",
        "IsListeningClose": false,
        "IsListeningOpen": false,
        "State": {
            "type": "WindowLogicalState",
            "intValue": 1,
            "name": "Opened",
            "displayName": "Opened"
        }
    },
    "version": 1
}

I am trying to update the properties on this part, specifically the 'Session' part:

"Editor": {
            "CurrentlySelectedTreeItem": null,
            "Session": null,
            "SingleItemCollection": null
        },

but then that error occurs. How I update them looks like this. (the SetValue are my helpers, they do the INotifyPropertyChanged upon setting)

public SessionViewModel Session
        {
            get => _session;
            set
            {
                if(SetValue(ref _session, value))
                    SingleItemCollection = new ObservableCollection<SessionViewModel> { _session };
            }
        }

        public ObservableCollection<SessionViewModel> SingleItemCollection
        {
            get => _singleItemCollection;
            set => SetValue(ref _singleItemCollection, value);
        }

        public object CurrentlySelectedTreeItem
        {
            get => _currentlySelectedTreeItem;
            set => SetValue(ref _currentlySelectedTreeItem, value);
        }

I tried disposing the HTMLViewControl before updating then re instantiating and setting the properties like how it ought to be as it was on initialization but then a somewhat same error occurs

           HTMLViewCtrl.Dispose();
           HTMLViewCtrlContainer.Children.Remove(HTMLViewCtrl);

            /*  Instantiates */
            ViewModel.Session = new SessionViewModel(data);

            Dispatcher.DispatchOnContextIdle(() =>
            {
                HTMLViewCtrl = new HTMLViewControl();
                HTMLViewCtrlContainer.Children.Add(HTMLViewCtrl);

                Dispatcher.DispatchAfterRender(() =>
                {
                    HTMLViewCtrlContainer.InvalidateVisual();

                    HTMLViewCtrl.Uri = SetUp.Uri;
                    HTMLViewCtrl.DebugCommands = SetUp.DebugCommands;
                    HTMLViewCtrl.IsDebug = SetUp.Debug;
                });
            });
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/index.html
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/css/app.css
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/js/app.js
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/js/chunk-vendors.js
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/css/chunk-vendors.css
The thread 0x326c has exited with code 0 (0x0).
DataContentCreator.exe Information: 0 : Neutronium - Info: Exception encountered during task dispatch: Chromium.CfxRemotingException: Remote connection lost. ---> System.IO.EndOfStreamException: Unexpected end of stream.
   at Chromium.Remote.StreamHandler.FillReadBuffer(Int32 count)
   at Chromium.Remote.RemoteConnection.ReadLoop()
   at Chromium.Remote.RemoteConnection.ReadLoopEntry()
   --- End of inner exception stack trace ---
   at Chromium.Remote.RemoteCall.RequestExecution(RemoteConnection connection)
   at Chromium.Remote.CfrV8Value.CreateUndefined()
   at Neutronium.WebBrowserEngine.ChromiumFx.V8Object.ChromiumFXJavascriptRoot.Invoke(String functionName, IWebView context, IJavascriptObject[] parameters)
   at Neutronium.JavascriptFramework.Vue.VueJavascriptSessionInjector.RegisterMainViewModel(IJavascriptObject jsObject)
   at Neutronium.Core.Binding.BidirectionalMapper.RegisterMain(IJavascriptObject res)
   at Neutronium.WebBrowserEngine.ChromiumFx.EngineBinding.ChromiumFxDispatcher.<>c__DisplayClass15_0`1.<ToTaskAction>g__Result|0()
DataContentCreator.exe Information: 0 : Neutronium - Info: Exception encountered during task dispatch: Chromium.CfxRemotingException: Remote connection lost. ---> System.IO.EndOfStreamException: Unexpected end of stream.
   at Chromium.Remote.StreamHandler.FillReadBuffer(Int32 count)
   at Chromium.Remote.RemoteConnection.ReadLoop()
   at Chromium.Remote.RemoteConnection.ReadLoopEntry()
   --- End of inner exception stack trace ---
   at Chromium.Remote.RemoteCall.RequestExecution(RemoteConnection connection)
   at Chromium.Remote.CfrV8Value.CreateInt(Int32 value)
   at Neutronium.WebBrowserEngine.ChromiumFx.EngineBinding.ChromiumFxFactory.CreateObjects(ObjectsCreationOption option)
   at Neutronium.Core.Binding.Builder.JavascriptObjectBulkBuilder.BulkCreateObjects()
   at Neutronium.Core.Binding.Builder.JavascriptObjectBulkBuilder.CreateObjects()
   at Neutronium.Core.Binding.Builder.JavascriptObjectBulkBuilder.UpdateJavascriptValue()
   at Neutronium.Core.Binding.Updaters.JsUpdateHelper.UpdateOnJavascriptContext(BridgeUpdater updater, IJsCsGlue value)
   at Neutronium.WebBrowserEngine.ChromiumFx.EngineBinding.ChromiumFxDispatcher.CfrTask_Execute(Object sender, CfrEventArgs e)
DataContentCreator.exe Information: 0 : An unhandled exception of type 'System.AggregateException' occurred in mscorlib.dll
One or more errors occurred.
David-Desmaisons commented 5 years ago

I tried disposing the HTMLViewControl before updating then re instantiating and setting the properties like how it ought to be as it was on initialization but then a somewhat same error occurs

This won't work! Dispose the control only when you close the window.

It is not clear when this problem is hapening. Could you clarify? Does the application open correctly? Is this expection is raised when you call: ViewModel.Session = new SessionViewModel(data);?

If so, could you share the code and the wholes traces, since the application start?

David-Desmaisons commented 5 years ago

Check when you are disposing the HTMLViewControl and make sure, you are not doing it during the application lifecycle. It is done once in the template when application close.

NOHJ-1 commented 5 years ago

I tried disposing the HTMLViewControl before updating then re instantiating and setting the properties like how it ought to be as it was on initialization but then a somewhat same error occurs

Yeah it definitely does NOT work.

The application works correctly. Some codes from the SPA Template are still around like the modal on closing, the window buttons (minimizing, maximizing). They're definitely working.

Yes, It happens on that ViewModel.Session = new SessionViewModel(data); I tried removing the the notification on setting the Session property, and no error happened.

This has nothing to do much with the part of disposing the HTMLViewControl, that was just on my part of diagnosing the problem

The StackTraces:

'DataContentCreator.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\DataContentCreator.exe'. Symbols loaded.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\Neutronium.WebBrowserEngine.ChromiumFx.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\Neutronium.WPF.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework\v4.0_4.0.0.0__31bf3856ad364e35\PresentationFramework.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\WindowsBase\v4.0_4.0.0.0__31bf3856ad364e35\WindowsBase.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_64\PresentationCore\v4.0_4.0.0.0__31bf3856ad364e35\PresentationCore.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xaml\v4.0_4.0.0.0__b77a5c561934e089\System.Xaml.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\Neutronium.Core.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\ChromiumFX.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Remote Debugger\x64\Runtime\Microsoft.VisualStudio.Debugger.Runtime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\Neutronium.BuildingBlocks.SetUp.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\Neutronium.MVVMComponents.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\MahApps.Metro.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework.Aero2\v4.0_4.0.0.0__31bf3856ad364e35\PresentationFramework.Aero2.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\MaterialDesignThemes.Wpf.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\MaterialDesignColors.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\MaterialDesignThemes.MahApps.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\NOHJ.MVVM.Cadre.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\ChromiumWebBrowser.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
[0321/140857.399:ERROR:gpu_process_transport_factory.cc(1026)] Lost UI shared context.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\Neutronium.JavascriptFramework.Vue.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Starting with set-up: Mode: Dev, Uri: pack://application:,,,/View/dist/index.html, Debug: True
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\NOHJ.SPA.Nuevue.dll'. Symbols loaded.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\Neutronium.BuildingBlocks.Application.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\Neutronium.BuildingBlocks.ApplicationTools.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\NOHJ.GRID.Lansen.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\ControlzEx.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\System.Windows.Interactivity.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Management\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Management.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\NOHJ.ASSIST.Etendue.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemXml\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemXml.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\LMW_WEB_JSON_PARSER_ENGINE.dll'. Symbols loaded.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\LMW.SHAREDS.dll'. Symbols loaded.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\NOHJ.GVM.Deux.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\Ookii.Dialogs.Wpf.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\Newtonsoft.Json.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\CommonServiceLocator.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\MoreCollection.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\Ninject.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'E:\CanqueJohn Backup\LMW-PDF-JSON-Interpreter\LMW_CONTENT_DATABUILDER\bin\Debug\Neutronium.BuildingBlocks.Wpf.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\WindowsFormsIntegration\v4.0_4.0.0.0__31bf3856ad364e35\WindowsFormsIntegration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\Users\CANQUE~1\AppData\Local\Temp\VisualStudio.XamlDiagnostics.6012\Microsoft.VisualStudio.DesignTools.WpfTap.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\SMDiagnostics\v4.0_4.0.0.0__b77a5c561934e089\SMDiagnostics.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Internals\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Internals.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\UIAutomationTypes\v4.0_4.0.0.0__31bf3856ad364e35\UIAutomationTypes.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\UIAutomationProvider\v4.0_4.0.0.0__31bf3856ad364e35\UIAutomationProvider.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.ComponentModel.DataAnnotations\v4.0_4.0.0.0__31bf3856ad364e35\System.ComponentModel.DataAnnotations.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Accessibility\v4.0_4.0.0.0__b03f5f7f11d50a3a\Accessibility.dll'. Cannot find or open the PDB file.
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration.Install\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.Install.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/index.html
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/css/app.css
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/js/app.js
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/js/chunk-vendors.js
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/css/chunk-vendors.css
Neutronium - Browser Log: Message: Neutronium: ViewModel injected, source: , line number: 8699, page: pack://application:,,,/View/dist/index.html
Neutronium - Browser Log: Message: [Vue warn]: Invalid prop: custom validator check failed for prop "command".

found in

---> <IconButton> at iconButton.vue
       <VToolbar>
         <VCard>
           <VContent>
             <Main> at main.vue
               <VApp>
                 <App> at App.vue
                   <Root>, source: , line number: 596, page: pack://application:,,,/View/dist/index.html
Neutronium - Browser Log: Message: [Vue warn]: Invalid prop: custom validator check failed for prop "command".

found in

---> <TextButton> at textButton.vue
       <VContent>
         <Main> at main.vue
           <VApp>
             <App> at App.vue
               <Root>, source: , line number: 596, page: pack://application:,,,/View/dist/index.html
Neutronium - Browser Log: Message: [Vue warn]: Invalid prop: custom validator check failed for prop "command".

found in

---> <TextButton> at textButton.vue
       <VContent>
         <Main> at main.vue
           <VApp>
             <App> at App.vue
               <Root>, source: , line number: 596, page: pack://application:,,,/View/dist/index.html
--- Updating the session property...
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemCore\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemCore.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
--- [END] Updating the session property...
'DataContentCreator.exe' (CLR v4.0.30319: DataContentCreator.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\PresentationFramework-SystemData\v4.0_4.0.0.0__b77a5c561934e089\PresentationFramework-SystemData.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
The thread 0x34fc has exited with code 0 (0x0).
DataContentCreator.exe Information: 0 : Neutronium - Info: Exception encountered during task dispatch: Chromium.CfxRemotingException: Remote connection lost. ---> System.IO.EndOfStreamException: Unexpected end of stream.
   at Chromium.Remote.StreamHandler.FillReadBuffer(Int32 count)
   at Chromium.Remote.RemoteConnection.ReadLoop()
   at Chromium.Remote.RemoteConnection.ReadLoopEntry()
   --- End of inner exception stack trace ---
   at Chromium.Remote.RemoteCall.RequestExecution(RemoteConnection connection)
   at Chromium.Remote.CfrV8Value.ExecuteFunction(CfrV8Value object, CfrV8Value[] arguments)
   at Neutronium.Core.Binding.GlueObject.JsGenericObject.<>c__DisplayClass30_0.<GetUpdater>b__0(IJavascriptViewModelUpdater viewModelUpdater)
   at Neutronium.Core.Binding.GlueObject.BridgeUpdater.UpdateOnJavascriptContext(IJavascriptViewModelUpdater javascriptViewModelUpdater)
   at Neutronium.Core.Binding.Updaters.JsUpdateHelper.UpdateOnJavascriptContext(BridgeUpdater updater, IJsCsGlue value)
   at Neutronium.Core.Infra.Chained`1.ForEach(Action`1 perform)
   at Neutronium.WebBrowserEngine.ChromiumFx.EngineBinding.ChromiumFxDispatcher.CfrTask_Execute(Object sender, CfrEventArgs e)
DataContentCreator.exe Information: 0 : Neutronium - Info: Problem in exiting chromiumFx context : Chromium.CfxRemotingException: Remote connection lost. ---> System.IO.EndOfStreamException: Unexpected end of stream.
   at Chromium.Remote.StreamHandler.FillReadBuffer(Int32 count)
   at Chromium.Remote.RemoteConnection.ReadLoop()
   at Chromium.Remote.RemoteConnection.ReadLoopEntry()
   --- End of inner exception stack trace ---
   at Chromium.Remote.RemoteCall.RequestExecution(RemoteConnection connection)
   at Chromium.Remote.CfrV8Context.Exit()
   at Neutronium.WebBrowserEngine.ChromiumFx.EngineBinding.ChromiumFxDispatcher.ChromiumFxContext.Dispose()
DataContentCreator.exe Error: 0 : Neutronium - Error: WebView crashed trying recover
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/index.html
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/css/app.css
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/js/app.js
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/js/chunk-vendors.js
DataContentCreator.exe Information: 0 : Neutronium - Info: Loaded: /View/dist/css/chunk-vendors.css
The thread 0x148 has exited with code 0 (0x0).
DataContentCreator.exe Information: 0 : Neutronium - Info: Exception encountered during task dispatch: Chromium.CfxRemotingException: Remote connection lost. ---> System.IO.EndOfStreamException: Unexpected end of stream.
   at Chromium.Remote.StreamHandler.FillReadBuffer(Int32 count)
   at Chromium.Remote.RemoteConnection.ReadLoop()
   at Chromium.Remote.RemoteConnection.ReadLoopEntry()
   --- End of inner exception stack trace ---
   at Chromium.Remote.RemoteCall.RequestExecution(RemoteConnection connection)
   at Chromium.Remote.CfrV8Value.CreateUndefined()
   at Neutronium.WebBrowserEngine.ChromiumFx.V8Object.ChromiumFXJavascriptRoot.Invoke(String functionName, IWebView context, IJavascriptObject[] parameters)
   at Neutronium.JavascriptFramework.Vue.VueJavascriptSessionInjector.RegisterMainViewModel(IJavascriptObject jsObject)
   at Neutronium.Core.Binding.BidirectionalMapper.RegisterMain(IJavascriptObject res)
   at Neutronium.WebBrowserEngine.ChromiumFx.EngineBinding.ChromiumFxDispatcher.<>c__DisplayClass15_0`1.<ToTaskAction>g__Result|0()
DataContentCreator.exe Information: 0 : Neutronium - Info: Problem in exiting chromiumFx context : Chromium.CfxRemotingException: Remote connection lost. ---> System.IO.EndOfStreamException: Unexpected end of stream.
   at Chromium.Remote.StreamHandler.FillReadBuffer(Int32 count)
   at Chromium.Remote.RemoteConnection.ReadLoop()
   at Chromium.Remote.RemoteConnection.ReadLoopEntry()
   --- End of inner exception stack trace ---
   at Chromium.Remote.RemoteCall.RequestExecution(RemoteConnection connection)
   at Chromium.Remote.CfrV8Context.Exit()
   at Neutronium.WebBrowserEngine.ChromiumFx.EngineBinding.ChromiumFxDispatcher.ChromiumFxContext.Dispose()
Neutronium - Browser Log: Message: Neutronium: ViewModel injected, source: , line number: 8699, page: https://application/View/dist/index.html#/main
Neutronium - Browser Log: Message: [Vue warn]: Invalid prop: custom validator check failed for prop "command".

found in

---> <IconButton> at iconButton.vue
       <VToolbar>
         <VCard>
           <VContent>
             <Main> at main.vue
               <VApp>
                 <App> at App.vue
                   <Root>, source: , line number: 596, page: https://application/View/dist/index.html#/main
An unhandled exception of type 'System.AggregateException' occurred in mscorlib.dll
One or more errors occurred.
David-Desmaisons commented 5 years ago

--- Updating the session property... What is trigerring this update? Do you fave a callstack? Is this happening in the UI thread?

David-Desmaisons commented 5 years ago

And also:

I tried removing the the notification on setting the Session property, and no error happened.

Could you clarify what do you mean by notification?

NOHJ-1 commented 5 years ago

--- Updating the session property... That's when the ViewModel.Session is being changed. For debugging purposes

I tried removing the the notification on setting the Session property, and no error happened.

The INotifyPropertyChanged.

David-Desmaisons commented 5 years ago
--- Updating the session property...
That's when the ViewModel.Session is being changed. For debugging purposes

Stilll with this information I do not have any clue of what is trigerring the update: Is it callback?
Is it an event callback? Could you share the callstack of thta trigers the property updates? These information are crucial for me to be abble to help you. Another possibility is to provide an access to the reo where this problem ahppens.

David-Desmaisons commented 5 years ago

--- Updating the session property... That's when the ViewModel.Session is being changed. For debugging purposes

Does this mean tha you are trigerring the update from the debugger?

NOHJ-1 commented 5 years ago

I really thank you for your time in trying to help me.

wait wait.

The Session property is being changed from a callback.

--- Updating the session property... That's just a System.Console.WriteLine(); before the ViewModel.Session = new SessionViewModel(data); fires.

About the callstack, I can't show any since:

Your app has entered a break state, but there is no code to show because all threads were executing external code (typically system or framework code).

Debug Output of it happening, take note of where the '--- Updating the session property...' is, since that's where the Session property is going to be changed, then ends on '--- [END] Updating the session property...'

NOHJ-1 commented 5 years ago

i'll try to create a mockup project of this since I can't just upload this project

NOHJ-1 commented 5 years ago

try catching the ViewModel.Session = new SessionViewModel(data); doesn't even help

David-Desmaisons commented 5 years ago

Ok, I will wait for the mock-up.

Meanwhile

The Session property is being changed from a callback.

Could you explain better?

NOHJ-1 commented 5 years ago

The user clicks a button. Then a file dialog shows up, prompting to select a file (JSON). If successful, then loads the contents from the file, and then--where it crashes, it updates the UI.

I've been really busy these weekends.

David-Desmaisons commented 5 years ago

Could you share the callstack leading to the update of the ViewModel.Session?

NOHJ-1 commented 5 years ago

I think I have an idea on why the error is happening. It's probably with the data types or the objects within the Session object being loaded. Since when I added Bindable(false) to all the properties that I did not need, it crashed no more.

I'm going to try to pinpoint which property/data_type was making the app crash to help improving the Neutronium

NOHJ-1 commented 5 years ago

I somehow can't pinpoint exactly what was causing it.

I think it's with the objects having children which are referencing their parent objects. It's kinda of a flaw on my part.

But the crashing does not seem to happen all the time, so I'm not sure if it was that one. Maybe you have an idea on this 'objects with children referencing back their parents' thing

David-Desmaisons commented 5 years ago

Neutronium supports circular references without restriction.

Your scenario migth be linked with having the class Type used as some point as a ViewModel, The main problem is that Type exposes many property that will throw exceptions resulting in a very degraded performance, that may lead to this crash.

Using debug or release build result in a dramatic performance changes when dealing with this kind of scenarios, so that migth explain the fact that the crash is not reproducible.

NOHJ-1 commented 5 years ago

The main problem is that Type exposes many property that will throw exceptions resulting in a very degraded performance, that may lead to this crash

ok, well I think that's that. Thanks for the help!