[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