[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gambas-bugtracker] Bug #3224: Random Jit crash, include stack trace


http://gambaswiki.org/bugtracker/edit?object=BUG.3224&from=L21haW4-

Brian G reported a new bug.

Summary
-------

Random Jit crash, include stack trace

Type             : Bug
Priority         : High
Gambas version   : Master
Product          : JIT compiler


Description
-----------

gb.jit: panic: Stack mismatch: stack is not void


//////// TestArrayAccessUpdate


extern const void *const _jit_testarrayaccessupdate_ptr[];

void jit_testarrayaccessupdate_2(uchar n);
static void jit_testarrayaccessupdate_2_();
void jit_testarrayaccessupdate_3(uchar n);
static void jit_testarrayaccessupdate_3_(GB_VARIANT p0,GB_STRING p1);

// Main

void jit_testarrayaccessupdate_2(uchar n)
{
  jit_testarrayaccessupdate_2_();
}

static void jit_testarrayaccessupdate_2_()
{
  const GB_OBJECT null_object = {GB_T_OBJECT};
  GB_OBJECT l0 = null_object;
  GB_OBJECT l1 = null_object;
  VALUE **psp = (VALUE **)_jit_testarrayaccessupdate_ptr[0];
  VALUE *sp = SP;
  ushort *pc = (ushort *)_jit_testarrayaccessupdate_ptr[1];
  GB_VALUE_GOSUB *gp = 0;
  bool error = FALSE;
  void * c0;
  void *ro;
  VALUE *ssp = sp;
  TRY {

__L0:; // TestArrayAccessUpdate.Main.7
  ({PUSH_b((-1));PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[2]));POP_UNKNOWN(3);});
__L5:; // TestArrayAccessUpdate.Main.11
__L8:; // TestArrayAccessUpdate.Main.12
  ((void)({({PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));PUSH_UNKNOWN(10);});PUSH_i(1512000);CALL_UNKNOWN(15);POP_b();}));
__L17:; // TestArrayAccessUpdate.Main.14
  // SharedMem.a ?
  ({({PUSH_i(1);PUSH_i(2);PUSH_i(3);PUSH_i(4);PUSH_i(5);PUSH_i(6);PUSH_i(7);CALL_SUBR_CODE(25, _jit_testarrayaccessupdate_ptr[4], 0x6107);});PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));POP_UNKNOWN(27);});
__L29:; // TestArrayAccessUpdate.Main.15
  // SharedMem.b ?
  ({({PUSH_t(CONSTANT_s(_jit_testarrayaccessupdate_ptr[5], 3));PUSH_t(CONSTANT_s(_jit_testarrayaccessupdate_ptr[6], 4));PUSH_t(CONSTANT_s(_jit_testarrayaccessupdate_ptr[7], 5));PUSH_t(CONSTANT_s(_jit_testarrayaccessupdate_ptr[8], 5));CALL_SUBR_CODE(34, _jit_testarrayaccessupdate_ptr[9], 0x6104);});PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));POP_UNKNOWN(36);});
__L38:; // TestArrayAccessUpdate.Main.16
  // SharedMem.b ?
__L43:; // TestArrayAccessUpdate.Main.16
  ({SP=sp;jit_testarrayaccessupdate_3_(CONV(({PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));PUSH_UNKNOWN(41);POP_u();}), u, v, GB_T_VARIANT),CONSTANT_s(_jit_testarrayaccessupdate_ptr[10], 3));});
__L46:; // TestArrayAccessUpdate.Main.17
  // SharedMem.c ?
  ({({PUSH_t(GET_CHAR(97));PUSH_i(1);PUSH_t(GET_CHAR(98));PUSH_i(2);PUSH_t(GET_CHAR(99));PUSH_i(3);PUSH_t(GET_CHAR(100));PUSH_i(4);CALL_SUBR_CODE(55, _jit_testarrayaccessupdate_ptr[11], 0x9A08);});PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));POP_UNKNOWN(57);});
__L59:; // TestArrayAccessUpdate.Main.19
  // SharedMem.c ?
__L64:; // TestArrayAccessUpdate.Main.19
  ({SP=sp;jit_testarrayaccessupdate_3_(CONV(({PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));PUSH_UNKNOWN(62);POP_u();}), u, v, GB_T_VARIANT),CONSTANT_s(_jit_testarrayaccessupdate_ptr[12], 3));});
__L67:; // TestArrayAccessUpdate.Main.20
  ({PUSH_i(99);PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));PUSH_t(GET_CHAR(97));PUSH_i(5);CALL_POP_ARRAY(72, 0x0B03);sp--;});
__L73:; // TestArrayAccessUpdate.Main.21
  // SharedMem.a ?
__L77:; // TestArrayAccessUpdate.Main.21
  ro = (l0).value;
  l0 = BORROW_o(CONV(({PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));PUSH_UNKNOWN(75);POP_u();}), u, o, CLASS(_jit_testarrayaccessupdate_ptr[13])));
  GB.Unref(&ro);
__L78:; // TestArrayAccessUpdate.Main.22
  ({({PUSH_o(l0);PUSH_UNKNOWN(80);});PUSH_i(9);CALL_UNKNOWN(83);POP_V();});
__L85:; // TestArrayAccessUpdate.Main.23
  // SharedMem.a ?
  ({PUSH_o(l0);PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));POP_UNKNOWN(88);});
__L90:; // TestArrayAccessUpdate.Main.24
  // SharedMem.a ?
__L95:; // TestArrayAccessUpdate.Main.24
  ({SP=sp;jit_testarrayaccessupdate_3_(CONV(({PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));PUSH_UNKNOWN(93);POP_u();}), u, v, GB_T_VARIANT),CONSTANT_s(_jit_testarrayaccessupdate_ptr[14], 17));});
__L98:; // TestArrayAccessUpdate.Main.25
  ro = (l1).value;
  l1 = BORROW_o(CONV(({({PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));PUSH_UNKNOWN(100);});PUSH_t(GET_CHAR(98));CALL_UNKNOWN(103);POP_v();}), v, o, CLASS(_jit_testarrayaccessupdate_ptr[15])));
  GB.Unref(&ro);
__L105:; // TestArrayAccessUpdate.Main.26
  ({PUSH_t(CONSTANT_s(_jit_testarrayaccessupdate_ptr[16], 7));PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));PUSH_t(GET_CHAR(98));PUSH_i(2);CALL_POP_ARRAY(110, 0x0B03);sp--;});
__L111:; // TestArrayAccessUpdate.Main.27
  ({PUSH_t(CONSTANT_s(_jit_testarrayaccessupdate_ptr[17], 11));PUSH_o(l1);PUSH_i(3);CALL_POP_ARRAY(115, 0x0B02);sp--;});
__L116:; // TestArrayAccessUpdate.Main.28
  ({PUSH_i(1);PUSH_t(CONSTANT_s(_jit_testarrayaccessupdate_ptr[18], 3));PUSH_t(GET_CHAR(32));({PUSH_o(l1);PUSH_i(3);CALL_PUSH_ARRAY(122, 0x0302);});PUSH_t(GET_CHAR(10));CALL_SUBR_CODE(124, _jit_testarrayaccessupdate_ptr[19], 0x7C05);POP_V();});
__L126:; // TestArrayAccessUpdate.Main.29
  // SharedMem.b ?
__L131:; // TestArrayAccessUpdate.Main.29
  ({SP=sp;jit_testarrayaccessupdate_3_(CONV(({PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));PUSH_UNKNOWN(129);POP_u();}), u, v, GB_T_VARIANT),CONSTANT_s(_jit_testarrayaccessupdate_ptr[20], 2));});
__L134:; // TestArrayAccessUpdate.Main.31
  // SharedMem.a ?
__L487:; // TestArrayAccessUpdate.Main.47
  ({SP=sp;jit_testarrayaccessupdate_3_(CONV(l0, o, v, GB_T_VARIANT),CONSTANT_s(_jit_testarrayaccessupdate_ptr[29], 13));});
__L493:; // TestArrayAccessUpdate.Main.49
  // SharedMem.a ?
__L498:; // TestArrayAccessUpdate.Main.49
  ({SP=sp;jit_testarrayaccessupdate_3_(CONV(({PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));PUSH_UNKNOWN(496);POP_u();}), u, v, GB_T_VARIANT),CONSTANT_s(_jit_testarrayaccessupdate_ptr[30], 3));});
__L501:; // TestArrayAccessUpdate.Main.51
  // SharedMem.a ?
__L518:; // TestArrayAccessUpdate.Main.53
  ({SP=sp;jit_testarrayaccessupdate_3_(CONV(({PUSH_C(CLASS(_jit_testarrayaccessupdate_ptr[3]));PUSH_UNKNOWN(516);POP_u();}), u, v, GB_T_VARIANT),CONSTANT_s(_jit_testarrayaccessupdate_ptr[31], 3));});
__L521:; // TestArrayAccessUpdate.Main.57

__RETURN:;

From thee functions
Public Sub Main()

  System.IgnoreOverflow = True
  Dim b As Short[]
  Dim ob As SharedMemSymbol

  With SharedMem
    .begin(1512000)

    .a = [1, 2, 3, 4, 5, 6, 7]
    .b = ["sss", "dddd", "ggggg", "lllll"]
    printit(.b, "B =")
    .c = ["a": 1, "b": 2, "c": 3, "d": 4]

    printit(.c, "C =")
    .["a", 5] = 99
    b = .a
    b.add(9)
    .a = b
    printit(.a, "A after setting =")
    ob = .AsObject("b")
    .["b", 2] = "changed"
    ob[3] = "More Change"
    Print "OB=";; ob[3]
    printit(.b, "B=")

    b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3,
      4, 5, 6, 7, 8, 9, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
      4, 5, 6, 7, 8, 9, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
      4, 5, 6, 7, 8, 9, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
      4, 5, 6, 7, 8, 9, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
      4, 5, 6, 7, 8, 9, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
      4, 5, 6, 7, 8, 9, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
      4, 5, 6, 7, 8, 9, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
      4, 5, 6, 7, 8, 9, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
      4, 5, 6, 7, 8, 9, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
      4, 5, 6, 7, 8, 9, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
      4, 5, 6, 7, 8, 9, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
      4, 5, 6, 7, 8, 9, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
      0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8,
      8, 8, 9, 9, 9, 0, 0, 0]
    .a = b
    printit(b, "Local Var b =")

    printit(.a, "A =")

    .["a", 2] = 45
    .["a", 6] = 99
    printit(.a, "A =")

  End With

End

Public Sub printit(x As Variant, title As String)

  Print title;; "Values { "
  For Each i As Variant In x
    Print i,
  Next
  Print " }"

End


System information
------------------

[System]
Gambas=3.22.99 3387250 (master)
OperatingSystem=Linux
Distribution=Linux Mint 22.3 (Zena)
Kernel=7.2.0-070200-generic
Architecture=x86_64
Cores=8
Memory=13923M
Language=en_US.UTF-8
Platform=x11
Desktop=MATE
DesktopResolution=96
DesktopScale=7
WidgetTheme=proxy
Font=Ubuntu Mono,10
DarkTheme=False
[Programs]
appimage-builder=appimage-builder: 1.1.0
dpkg=Debian 'dpkg' package management program version 1.22.6 (amd64).
gcc=gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0
git=git version 2.43.0
msgmerge=msgmerge (GNU gettext-tools) 0.21
rpmbuild=RPM version 4.18.2
[Libraries]
Cairo=libcairo.so.2.11800.0
Curl=libcurl.so.4.8.0
DBus=libdbus-1.so.3.32.4
GDK2=libgdk-x11-2.0.so.0.2400.33
GDK3=libgdk-3.so.0.2409.32
GStreamer=libgstreamer-1.0.so.0.2402.0
GTK+2=libgtk-x11-2.0.so.0.2400.33
GTK+3=libgtk-3.so.0.2409.32
OpenGL=libGL.so.1.7.0
Poppler=libpoppler.so.134.0.0
QT5=libQt5Core.so.5.15.13
QT6=libQt6Core.so.6.4.2
RSvg=librsvg-2.so.2.50.0
SDL=libSDL2-2.0.so.0.3000.0
SQLite3=libsqlite3.so.0.8.6
[Environment]
CLUTTER_BACKEND=x11
COMPIZ_CONFIG_PROFILE=mint
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DESKTOP_SESSION=mate
DISPLAY=:0
EDITOR=kwrite
GB_GUI=gb.qt6
GDMSESSION=mate
GDM_LANG=en_US
GIO_LAUNCHED_DESKTOP_FILE_PID=1039187
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GTK3_MODULES=xapp-gtk3-module
GTK_MODULES=gail:atk-bridge
GTK_OVERLAY_SCROLLING=0
HOME=<home>
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_PAPER=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_TIME=en_US.UTF-8
LIBVIRT_DEFAULT_URI=qemu:///system
LOGNAME=<user>
MATE_DESKTOP_SESSION_ID=this-is-deprecated
NVM_BIN=<home>/.nvm/versions/node/v24.11.0/bin
NVM_CD_FLAGS=
NVM_DIR=<home>/.nvm
NVM_INC=<home>/.nvm/versions/node/v24.11.0/include/node
PAPERSIZE=a4
PATH=<home>/.nvm/versions/node/v24.11.0/bin:<home>/.config/emacs/bin:<home>/.local/bin:<home>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/go/bin
PICO_SDK_PATH=<home>/Projects/picomite/pico/pico-sdk
PWD=<home>
QT_ACCESSIBILITY=1
QT_FONT_DPI=96
QT_LOGGING_RULES=*.debug=false
QT_SCALE_FACTOR=1
SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/635155,unix/<hostname>:/tmp/.ICE-unix/635155
SHELL=/usr/bin/gsh
SHLVL=0
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
TZ=:/etc/localtime
USER=<user>
XAUTHORITY=<home>/.Xauthority
XDG_ACTIVATION_TOKEN=mate-panel-635649-<hostname>-gambas3-17_TIME182928002
XDG_CONFIG_DIRS=/etc/xdg/xdg-mate:/etc/xdg
XDG_CURRENT_DESKTOP=MATE
XDG_DATA_DIRS=/usr/share/mate:<home>/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/<user>
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=mate
XDG_SESSION_ID=c6
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session2
XDG_SESSION_TYPE=x11
XDG_VTNR=7
gshlibrary=<home>/Projects/gshlibrary
gshproject=<home>/Projects/gsh



----[ Gambas bugtracker-list is hosted by https://www.hostsharing.net ]----