NOST icon indicating copy to clipboard operation
NOST copied to clipboard

NOST fails to launch on Win11 with NullReferenceException

Open m-koops opened this issue 3 years ago • 3 comments

Today I haved unlocked my Nokia 8 and try to move into the realm of custom roms for it. I found the threads on XDA about loading T-Virus using the NOST. After installing the NOST tool on my windows 11 PC, I get an error message on start-up. If I select continue, the GUI is initialized partly, but the captions in the form and of the buttons are not resolved. Also the statuses displayed are 'ONLINE_STATUS_UNKNOWN' and 'XXX_STATUS_NO_PHONE'.

The full error log: See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text ************** System.NullReferenceException: Object reference not set to an instance of an object. at MainForms.Form1.DisableOptions() at MainForms.Form1.Form1_Load(Object sender, EventArgs e) at System.Windows.Forms.Form.OnLoad(EventArgs e) at System.Windows.Forms.Form.OnCreateControl() at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) at System.Windows.Forms.Control.CreateControl() at System.Windows.Forms.Control.WmShowWindow(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ContainerControl.WndProc(Message& m) at System.Windows.Forms.Form.WmShowWindow(Message& m) at System.Windows.Forms.Form.WndProc(Message& m) at MainForms.Form1.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies ************** mscorlib Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9157 (WinRelRS6.050727-9100) CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll

NOST Assembly Version: 1.0.0.0 Win32 Version: 1.0.0.0 CodeBase: file:///C:/Program%20Files%20(x86)/NOST/OST/NOST.exe

OnlineUpdateTool Assembly Version: 6.0.4.0 Win32 Version: 6.0.4 CodeBase: file:///C:/Program%20Files%20(x86)/NOST/OST/OnlineUpdateTool.EXE

System.Windows.Forms Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9157 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9157 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll

System.Drawing Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9157 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

0Harmony Assembly Version: 1.2.0.1 Win32 Version: 1.2.0.1 CodeBase: file:///C:/Program%20Files%20(x86)/NOST/OST/0Harmony.DLL

System.Core Assembly Version: 3.5.0.0 Win32 Version: 3.5.30729.9151 built by: WinRelRS6 CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll

YamlDotNet Assembly Version: 5.0.0.0 Win32 Version: 5.2.1.0 CodeBase: file:///C:/Program%20Files%20(x86)/NOST/OST/YamlDotNet.DLL

HarmonySharedState Assembly Version: 0.0.0.0 Win32 Version: 1.2.0.1 CodeBase: file:///C:/Program%20Files%20(x86)/NOST/OST/0Harmony.dll

System.Web.Services Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9157 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Web.Services/2.0.0.0__b03f5f7f11d50a3a/System.Web.Services.dll

System.Security Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9157 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Security/2.0.0.0__b03f5f7f11d50a3a/System.Security.dll

Accessibility Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9157 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

System.Configuration Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9157 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Xml Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9157 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll

System.Web Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9160 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll

System.Data.SqlXml Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.9157 (WinRelRS6.050727-9100) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Data.SqlXml/2.0.0.0__b77a5c561934e089/System.Data.SqlXml.dll

MRG.Controls.UI Assembly Version: 1.0.4854.21889 Win32 Version: 1.0.0.0 CodeBase: file:///C:/Program%20Files%20(x86)/NOST/OST/MRG.Controls.UI.DLL

************** JIT Debugging ************** To enable just-in-time (JIT) debugging, the .config file for this application or computer (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled.

For example:

When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the computer rather than be handled by this dialog box.

m-koops avatar Feb 25 '22 12:02 m-koops

As a temporarily replacement, use my OSTRemote Client instead.

https://forum.xda-developers.com/t/tools-hctsw-care-ostremote-client-batch-script-replacement-of-ost-la.4282019/

command is :

ostremote.cmd -q D:\path\to\t-virus.qlz -e -S

HikariCalyx avatar Feb 25 '22 12:02 HikariCalyx

As a temporarily replacement, use my OSTRemote Client instead.

https://forum.xda-developers.com/t/tools-hctsw-care-ostremote-client-batch-script-replacement-of-ost-la.4282019/

command is :

ostremote.cmd -q D:\path\to\t-virus.qlz -e -S

Hi Hikary, Thank you for your hint. I have tried to use OSTRemote Client. First of all the script was not doing much, other than rebooting, when running it with the t-virus.qlz file.

So I did some debugging on your scripts. I'm not yet sure what is causing the issue exactly, but the what I noticed (in CMD prompt on Win11): line 20 of qlz_parser (dir /b *.mlf > %temp%\mlffile.txt) is yielding an empty mlffile.txt. With Windows explorer I can see files in the qlzout folder, also gnu ls on windows shows the files. But the dir command does not.

By adding /a to the dir command it does. So after changing the statement to dir /a /b *.mlf > %temp%\mlffile.txt your script works.

m-koops avatar Feb 27 '22 20:02 m-koops

@m-koops The issue is caused by a sloppy CultureInfo initialization. If you replace lines 22 to 24 in GetRegionNamePatch.cs with the following lines, the program runs.

                    int cultureId = int.Parse(value, NumberStyles.AllowHexSpecifier);
                    CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures);
                    CultureInfo cultureInfo = Array.Find(cultures, culture => culture.LCID == cultureId);

I'll create a pull request for this.

goocy avatar Apr 30 '23 10:04 goocy