[Gambas-bugtracker] Bug #2460: During the debugging process the systems stops with a failure free(): double free detected in tcache 2

bugtracker at gambaswiki.org bugtracker at gambaswiki.org
Wed Jan 26 12:06:16 CET 2022


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

Peter KOSTRZ reported a new bug.

Summary
-------

During the debugging process the systems stops with a failure free(): double free detected in tcache 2

Type             : Bug
Priority         : Medium
Gambas version   : 3.16
Product          : Unknown


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

Within a progamm retrieving data through an API (JSON) we decode the JSONoutput and process them by generatin XML out of it.

The Subroutine looks like (see below). After unning about 10 times it fails with the error mentioned above. I check all the VARs etc. but could not find a clue
Do you have an idea ?
Thanks a lot in advance
'///********************************************************************************************************
'///    Function to get the Transactions requetsed out of a XML File
'///    Input Parms:  sFileN      File Name to be placed   Customer ID
'///                  sClientID    Client Number / ID
'///                  vTransI, vSec, vUPDTransI       Variant with JSON Collection Pointers
'///    Output:       iNumPos     Number of Elements found
'///    KSE Thursday December 30 2021 14:45:13
'///********************************************************************************************************

Static Public Function Get_Trans(sFileN As String, sClientID As String, vTransI As Variant[], vSec As Variant[], vUPDTransI As Variant[]) As Integer

  Dim hXMLDocument As XmlDocument
  Dim hXMLElement As XmlElement
  Dim hXMLContent As String
  Dim csKey, csValue As Variant
  Dim vJson As Variant[]
  Dim CInput As Collection
  Dim cnt, I, iTotTra As Integer
  Dim RetC As Boolean

  '// Now setup and save the new one as XML
  '// Start with the normal Transactions codes
  iTotTra = 0
  vJson = vTransI
  cnt = vJson.Count
  hXMLDocument = New XmlDocument
  hXMLDocument.FromString("<?xml version=\"1.0\" encoding=\"utf-8\" ?><APITrans/>")
  '/ get all elements now
  For I = 0 To cnt - 1
    '// now Loop Trough and set XML
    CInput = vJson[I]
    hXMLElement = New XmlElement("TRANS")
    For Each csValue In CInput
      hXMLDocument.Root.AppendChild(hXMLElement)
      csKey = CInput.Key
      hXMLElement.NewElement(csKey, csValue)
    Next
    Inc iTotTra
    hXMLElement = hXMLElement.Parent   '/ go back Base
  Next
  'hXMLElement = hXMLElement.Parent      '// go toparent Element
  '// and as a last the securities of this clients as Reference
  vJson = vSec
  cnt = vJson.Count
  If cnt = 0 Then Goto Skip_Sec
  '/ get all elements now
  For I = 0 To cnt - 1
    '// now Loop Trough and set XML
    CInput = vJson[I]
    hXMLElement = New XmlElement("SECU")
    For Each csValue In CInput
      hXMLDocument.Root.AppendChild(hXMLElement)
      csKey = CInput.Key
      hXMLElement.NewElement(csKey, csValue)
    Next
    hXMLElement = hXMLElement.Parent   '/ go back Base
  Next
  'hXMLElement = hXMLElement.Parent      '// go toparent Element
Skip_Sec:
  '// Now we process the Updated Transactions

  vJson = vUPDTransI
  cnt = vJson.Count
  If cnt = 0 Then Goto Skip_UPDTra
  '/ get all elements now
  For I = 0 To cnt - 1
    '// now Loop Trough and set XML
    CInput = vJson[I]
    hXMLElement = New XmlElement("UPDTRANS")
    For Each csValue In CInput
      hXMLDocument.Root.AppendChild(hXMLElement)
      csKey = CInput.Key
      hXMLElement.NewElement(csKey, csValue)
    Next
    hXMLElement = hXMLElement.Parent   '/ go back Base
  Next
  ' hXMLElement = hXMLElement.Parent '// go toparent Element
Skip_UPDTra:

  '// and as a last the securities of this clients as Reference
  hXMLContent = hXMLDocument.ToString(True)   '// assign content
  Try File.Save(sFileN, hXMLContent)        '// and save it
  If Error Then
    RetC = CTools.Error_Proc("SAVE", sFileN, "", "")
  Endif

  Return iTotTra

End

Have a nice day
Peter


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

[System]
Gambas=3.16.90 c7c8774 (master)
OperatingSystem=Linux
Kernel=4.15.0-166-generic
Architecture=x86_64
Distribution=Ubuntu 18.04.6 LTS
Desktop=UBUNTU
Font=Ubuntu,11
Scale=8
Theme=proxy
Language=de_DE.UTF-8
Memory=15898M

[Libraries]
Cairo=libcairo.so.2.11510.0
Curl=libcurl.so.4.5.0
DBus=libdbus-1.so.3.19.4
GDK2=libgdk-x11-2.0.so.0.2400.32
GDK3=libgdk-3.so.0.2200.30
GStreamer=libgstreamer-1.0.so.0.1405.0
GTK+2=libgtk-x11-2.0.so.0.2400.32
GTK+3=libgtk-3.so.0.2200.30
OpenGL=libGL.so.1.0.0
Poppler=libpoppler.so.73.0.0
Poppler=libpoppler.so.90.0.0
QT4=libQtCore.so.4.8.7
QT5=libQt5Core.so.5.9.5
SDL=libSDL-1.2.so.0.11.4
SQLite=libsqlite3.so.0.8.6

[Environment]
CLUTTER_IM_MODULE=xim
COLORTERM=truecolor
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DERBY_HOME=/usr/lib/jvm/java-11-oracle/db
DESKTOP_SESSION=ubuntu
DISPLAY=:0
EDITOR=gedit
GB_GUI=gb.qt4
GDMSESSION=ubuntu
GJS_DEBUG_OUTPUT=stderr
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
GNOME_SHELL_SESSION_MODE=ubuntu
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/04893cdc_ec82_426f_9a5e_771a6c274768
GNOME_TERMINAL_SERVICE=:1.92
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GTK_IM_MODULE=ibus
GTK_MODULES=gail:atk-bridge
HOME=<home>
IM_CONFIG_PHASE=2
J2REDIR=/usr/lib/jvm/java-11-oracle
J2SDKDIR=/usr/lib/jvm/java-11-oracle
JAVA_HOME=/usr/lib/jvm/java-11-oracle
LANG=de_DE.UTF-8
LC_ALL=de_DE.UTF-8
LESSCLOSE=/usr/bin/lesspipe %s %s
LESSOPEN=| /usr/bin/lesspipe %s
LOGNAME=<user>
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-11-oracle/bin:/usr/lib/jvm/java-11-oracle/db/bin
PWD=<home>
QT4_IM_MODULE=xim
QT_ACCESSIBILITY=1
QT_IM_MODULE=ibus
QT_LOGGING_RULES=*.debug=false
SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/3258,unix/<hostname>:/tmp/.ICE-unix/3258
SHELL=/bin/bash
SHLVL=1
SSH_AGENT_PID=3355
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
TERM=xterm-256color
TEXTDOMAIN=im-config
TEXTDOMAINDIR=/usr/share/locale/
TZ=:/etc/localtime
USER=<user>
USERNAME=<user>
VTE_VERSION=5202
WINDOWPATH=2
XAUTHORITY=/run/user/1000/gdm/Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
XDG_CURRENT_DESKTOP=ubuntu:GNOME
XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
XDG_MENU_PREFIX=gnome-
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SESSION_DESKTOP=ubuntu
XDG_SESSION_ID=2
XDG_SESSION_TYPE=x11
XDG_VTNR=2
XMODIFIERS=@im=ibus
_=/usr/bin/gambas3




More information about the Bugtracker mailing list