Hello,
I juste made a little interface (2 buttons and a login page) to test it with my raspberry Pi. The goal is to implement a full HMI working in modbus TCP with a PLC.
But then when I try to run it, after 2 secondes AvcancedHMI.exe crashes.
Here is the error I get in the console :
* Assertion at mini-codegen.c:807, condition `i == sel' not met
Stacktrace:
at <unknown> <0xffffffff>
at System.Windows.Forms.TextBoxBase.Draw (System.Drawing.Graphics,System.Drawing.Rectangle) <0x000ab>
at System.Windows.Forms.TextBoxBase.OnPaintInternal (System.Windows.Forms.PaintEventArgs) <0x00063>
at System.Windows.Forms.Control.WmPaint (System.Windows.Forms.Message&) <0x0017f>
at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message&) <0x00217>
at System.Windows.Forms.TextBoxBase.WndProc (System.Windows.Forms.Message&) <0x00313>
at System.Windows.Forms.TextBox.WndProc (System.Windows.Forms.Message&) <0x001d3>
at System.Windows.Forms.Control/ControlWindowTarget.OnMessage (System.Windows.Forms.Message&) <0x0002b>
at System.Windows.Forms.Control/ControlNativeWindow.WndProc (System.Windows.Forms.Message&) <0x0003b>
at System.Windows.Forms.NativeWindow.WndProc (intptr,System.Windows.Forms.Msg,intptr,intptr) <0x002b7>
at System.Windows.Forms.XplatUIX11.DispatchMessage (System.Windows.Forms.MSG&) <0x00023>
at System.Windows.Forms.XplatUI.DispatchMessage (System.Windows.Forms.MSG&) <0x0002b>
at System.Windows.Forms.Application.RunLoop (bool,System.Windows.Forms.ApplicationContext) <0x00ac7>
at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext) <0x0005f>
at System.Windows.Forms.Application.Run (System.Windows.Forms.Form) <0x0002b>
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun () <0x00083>
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run (string[]) <0x00023>
at MfgControl.AdvancedHMI.My.MyApplication.Main (string[]) <0x0003f>
at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff>
Native stacktrace:
Debug info from gdb:
[New LWP 11418]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
0x76e3bee8 in __libc_waitpid (Cannot access memory at address 0x3
pid=11419, stat_loc=0x7efa8d10, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:40
40 ../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory.
Id Target Id Frame
2 Thread 0x75bff430 (LWP 11418) "mono" 0x76e39a40 in do_futex_wait (isem=isem@entry=0x3181a4) at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:48
* 1 Thread 0x76f4a000 (LWP 11417) "mono" 0x76e3bee8 in __libc_waitpid (Cannot access memory at address 0x3
pid=11419, stat_loc=0x7efa8d10, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:40
Thread 2 (Thread 0x75bff430 (LWP 11418)):
#0 0x76e39a40 in do_futex_wait (isem=isem@entry=0x3181a4) at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:48
#1 0x76e39af4 in __new_sem_wait (sem=0x3181a4) at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:69
#2 0x00219f98 in mono_sem_wait ()
#3 0x0019091c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 1 (Thread 0x76f4a000 (LWP 11417)):
Cannot access memory at address 0x3
#0 0x76e3bee8 in __libc_waitpid (pid=11419, stat_loc=0x7efa8d10, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:40
#1 0x000c0ba4 in ?? ()
Cannot access memory at address 0x3
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Aborted
Any idea ?
If needed I can provide my project.
I put the 3 folders in my USBkey (AdvancedHMI, AdvancedHMIControls, AdvancedHMIDrivers) and the project file.
Then I run : sudo mono AdvancedHMI.exe from AdvancedHMI/bin/debug/.
My project includes the modbus TCP driver (but unused), a SQL database for the login page and... nothing else special.