Giter VIP home page Giter VIP logo

Comments (18)

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Jul 25, 2019, 07:12

僕の環境で試すと #include "hsp3dish.as"を消しても-2のままですね OpenHSP/test/test_mc3008_duplex は問題ないのでspiがenableではない、みたいな問題はなさそう

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Jul 25, 2019, 07:35

MCP3008_FullDuplexに入ってくる引数は同じなので、副作用かメモリ違反が起こっているかな気がしている

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Jul 25, 2019, 07:38

OpenHSPを96cc2a05に切り戻しても動かない

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Jul 25, 2019, 07:41

d26395b1 でもダメ

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Jul 25, 2019, 07:59

ようわからんが #include "hsp3dish.as" を消すと動くようになるところまで再現できた

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Jul 25, 2019, 08:36

## doesnt work
(gdb) p ioctlres
$4 = -1
(gdb) p spich
$5 = 0
(gdb) p adcch
$6 = 0
(gdb) p spifd_ch[0]
$7 = 5
(gdb) p tr
$8 = {tx_buf = 2130700884, rx_buf = 2130700880, len = 3, speed_hz = 5000,
  delay_usecs = 0, bits_per_word = 8 '\b', cs_change = 0 '\000',
  tx_nbits = 208 '\320', rx_nbits = 3 '\003', pad = 12}
(gdb) p tx
$9 = "\001\200"
(gdb) p rx
$10 = "\000\000"

## work
(gdb) p ioctlres
$1 = 3
(gdb) p spich
$2 = 0
(gdb) p adcch
$3 = 0
(gdb) p spifd_ch[0]
$4 = 5
(gdb) p tr
$5 = {tx_buf = 2130700884, rx_buf = 2130700880, len = 3, speed_hz = 5000,
  delay_usecs = 0, bits_per_word = 8 '\b', cs_change = 0 '\000',
  tx_nbits = 72 'H', rx_nbits = 1 '\001', pad = 12}
(gdb) p tx
$6 = "\001\200"
(gdb) p rx
$7 = "\000", <incomplete sequence \350>
(gdb)

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Jul 25, 2019, 08:48

diff --git a/src/hsp3dish/raspbian/hsp3dish.cpp b/src/hsp3dish/raspbian/hsp3dish.cpp
index 22dfa9a..f7920a7 100644
--- a/src/hsp3dish/raspbian/hsp3dish.cpp
+++ b/src/hsp3dish/raspbian/hsp3dish.cpp
@@ -990,8 +990,12 @@ int MCP3008_FullDuplex(int spich, int adcch){
   tr.bits_per_word = 8;
   tr.cs_change = 0;
   tr.speed_hz = 5000;
+  tr.tx_nbits = 72;
+  tr.rx_nbits = 1;
+  tr.pad = 12;

でうごいた

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Jul 25, 2019, 08:52

なぜだかわからん

  • uninitialized local variable 的な意味で死んでたとすると、今まではずっと偶然動いていた?
  • あるいは、前に使われていてfreeされた後の領域の値が初期値として使われていた?
  • メモリリークはしてないっぽい (-fsanitizer-undefinedより) ので不可解

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Jul 25, 2019, 09:04

こっちのほうがいいかも

diff --git a/src/hsp3dish/raspbian/hsp3dish.cpp b/src/hsp3dish/raspbian/hsp3dish.cpp
index 22dfa9a..27dada5 100644
--- a/src/hsp3dish/raspbian/hsp3dish.cpp
+++ b/src/hsp3dish/raspbian/hsp3dish.cpp
@@ -974,6 +974,7 @@ int MCP3008_FullDuplex(int spich, int adcch){
   const uint8_t CHANNEL = adcch << 4;
   int res;
   struct spi_ioc_transfer tr;
+  memset(&tr, 0, sizeof(struct spi_ioc_transfer));
   uint8_t tx[COMM_SIZE] = {0, };
   uint8_t rx[COMM_SIZE] = {0, };

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Jul 26, 2019, 02:59

valgrindの結果

==2359== Memcheck, a memory error detector
==2359== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==2359== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==2359== Command: ./hsp3dish ./anain.ax
==2359== Parent PID: 1350
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4946D98: vchiq_lib_init (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4946DA4: vchiq_lib_init (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4946DAC: vchiq_lib_init (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== Warning: noted but unhandled ioctl 0xc410 with no size/direction hints.
==2359==    This could cause spurious value errors to appear.
==2359==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
==2359== Warning: noted but unhandled ioctl 0xc400 with no size/direction hints.
==2359==    This could cause spurious value errors to appear.
==2359==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
==2359== Warning: noted but unhandled ioctl 0xc40d with no size/direction hints.
==2359==    This could cause spurious value errors to appear.
==2359==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
==2359== Warning: noted but unhandled ioctl 0xc40c with no size/direction hints.
==2359==    This could cause spurious value errors to appear.
==2359==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
==2359== Thread 2 VCHIQ completio:
==2359== Use of uninitialised value of size 4
==2359==    at 0x494704C: completion_thread (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4947158: completion_thread (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x494716C: completion_thread (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4947174: completion_thread (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x494707C: completion_thread (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== Thread 4 HTV Notify:
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4910634: tvservice_notify_func (in /opt/vc/lib/libbcm_host.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x491051C: tvservice_notify_func (in /opt/vc/lib/libbcm_host.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4910050: tvservice_notify_func (in /opt/vc/lib/libbcm_host.so)
==2359== 
==2359== Warning: noted but unhandled ioctl 0xc409 with no size/direction hints.
==2359==    This could cause spurious value errors to appear.
==2359==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
==2359== Thread 2 VCHIQ completio:
==2359== Use of uninitialised value of size 4
==2359==    at 0x4947068: completion_thread (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C71CC: khrn_callback (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Thread 1:
==2359== Use of uninitialised value of size 4
==2359==    at 0x48C802C: rpc_recv (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4947D24: vchiq_release_message (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48BDD54: egl_context_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48BF060: eglCreateWindowSurface (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48BF08C: eglCreateWindowSurface (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Thread 2 VCHIQ completio:
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x49470EC: completion_thread (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x49470F0: completion_thread (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== Thread 1:
==2359== Use of uninitialised value of size 4
==2359==    at 0x48C8018: rpc_recv (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4864B2C: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4864B38: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48659E4: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865A00: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865A04: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865A08: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4865A3C: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865A64: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865A7C: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865A84: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865A88: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865A8C: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865A90: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865A98: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865A9C: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4865A9C: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865AA4: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865AAC: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865AB8: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C2A98: egl_surface_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CCA770: _itoa_word (_itoa.c:179)
==2359==    by 0x4CCF117: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C32B: hgio_init (hgiox.cpp:251)
==2359==    by 0x61DFB: hsp3dish_initwindow(engine*, int, int, char*) (hsp3dish.cpp:550)
==2359==    by 0x63B3F: hsp3dish_init(char*) (hsp3dish.cpp:1313)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCA778: _itoa_word (_itoa.c:179)
==2359==    by 0x4CCF117: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C32B: hgio_init (hgiox.cpp:251)
==2359==    by 0x61DFB: hsp3dish_initwindow(engine*, int, int, char*) (hsp3dish.cpp:550)
==2359==    by 0x63B3F: hsp3dish_init(char*) (hsp3dish.cpp:1313)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCE578: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C32B: hgio_init (hgiox.cpp:251)
==2359==    by 0x61DFB: hsp3dish_initwindow(engine*, int, int, char*) (hsp3dish.cpp:550)
==2359==    by 0x63B3F: hsp3dish_init(char*) (hsp3dish.cpp:1313)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCE624: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C32B: hgio_init (hgiox.cpp:251)
==2359==    by 0x61DFB: hsp3dish_initwindow(engine*, int, int, char*) (hsp3dish.cpp:550)
==2359==    by 0x63B3F: hsp3dish_init(char*) (hsp3dish.cpp:1313)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCE644: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C32B: hgio_init (hgiox.cpp:251)
==2359==    by 0x61DFB: hsp3dish_initwindow(engine*, int, int, char*) (hsp3dish.cpp:550)
==2359==    by 0x63B3F: hsp3dish_init(char*) (hsp3dish.cpp:1313)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCE684: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C32B: hgio_init (hgiox.cpp:251)
==2359==    by 0x61DFB: hsp3dish_initwindow(engine*, int, int, char*) (hsp3dish.cpp:550)
==2359==    by 0x63B3F: hsp3dish_init(char*) (hsp3dish.cpp:1313)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Syscall param ioctl(generic) points to unaddressable byte(s)
==2359==    at 0x4D57C7C: ioctl (syscall-template.S:84)
==2359==    by 0x612B7: initMouse() (hsp3dish.cpp:211)
==2359==    by 0x619BB: initInput() (hsp3dish.cpp:392)
==2359==    by 0x63B63: hsp3dish_init(char*) (hsp3dish.cpp:1318)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359==  Address 0x1 is not stack'd, malloc'd or (recently) free'd
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x63C58: hsp3dish_init(char*) (hsp3dish.cpp:1333)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x63C70: hsp3dish_init(char*) (hsp3dish.cpp:1334)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x63CC0: hsp3dish_init(char*) (hsp3dish.cpp:1346)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x3C5E0: hgio_autoscale (hgiox.cpp:335)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x3C608: hgio_autoscale (hgiox.cpp:337)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD0788: __printf_fp_l (printf_fp.c:381)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD079C: __printf_fp_l (printf_fp.c:395)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCA0CC: __mpn_extract_double (dbl2mpn.c:103)
==2359==    by 0x4CD07B7: __printf_fp_l (printf_fp.c:411)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD0814: __printf_fp_l (printf_fp.c:464)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD1730: __printf_fp_l (printf_fp.c:638)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CC8BA8: __mpn_lshift (lshift.c:37)
==2359==    by 0x4CD1747: __printf_fp_l (printf_fp.c:806)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CC8BDC: __mpn_lshift (lshift.c:72)
==2359==    by 0x4CD1747: __printf_fp_l (printf_fp.c:806)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CC8BE8: __mpn_lshift (lshift.c:69)
==2359==    by 0x4CD1747: __printf_fp_l (printf_fp.c:806)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CC8BF4: __mpn_lshift (lshift.c:75)
==2359==    by 0x4CD1747: __printf_fp_l (printf_fp.c:806)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CC8BF8: __mpn_lshift (lshift.c:78)
==2359==    by 0x4CD1747: __printf_fp_l (printf_fp.c:806)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CD1758: __printf_fp_l (printf_fp.c:807)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CD043C: hack_digit (printf_fp.c:176)
==2359==    by 0x4CD121B: __printf_fp_l (printf_fp.c:923)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CC9644: __mpn_mul_1 (mul_1.c:45)
==2359==    by 0x4CD0443: hack_digit (printf_fp.c:177)
==2359==    by 0x4CD121B: __printf_fp_l (printf_fp.c:923)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CC9664: __mpn_mul_1 (mul_1.c:52)
==2359==    by 0x4CD0443: hack_digit (printf_fp.c:177)
==2359==    by 0x4CD121B: __printf_fp_l (printf_fp.c:923)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CC965C: __mpn_mul_1 (mul_1.c:50)
==2359==    by 0x4CD0443: hack_digit (printf_fp.c:177)
==2359==    by 0x4CD121B: __printf_fp_l (printf_fp.c:923)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CD0448: hack_digit (printf_fp.c:177)
==2359==    by 0x4CD121B: __printf_fp_l (printf_fp.c:923)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CD043C: hack_digit (printf_fp.c:176)
==2359==    by 0x4CD12B7: __printf_fp_l (printf_fp.c:947)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CC9644: __mpn_mul_1 (mul_1.c:45)
==2359==    by 0x4CD0443: hack_digit (printf_fp.c:177)
==2359==    by 0x4CD12B7: __printf_fp_l (printf_fp.c:947)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CC9664: __mpn_mul_1 (mul_1.c:52)
==2359==    by 0x4CD0443: hack_digit (printf_fp.c:177)
==2359==    by 0x4CD12B7: __printf_fp_l (printf_fp.c:947)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CC965C: __mpn_mul_1 (mul_1.c:50)
==2359==    by 0x4CD0443: hack_digit (printf_fp.c:177)
==2359==    by 0x4CD12B7: __printf_fp_l (printf_fp.c:947)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CD0448: hack_digit (printf_fp.c:177)
==2359==    by 0x4CD12B7: __printf_fp_l (printf_fp.c:947)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD12D0: __printf_fp_l (printf_fp.c:950)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD1328: __printf_fp_l (printf_fp.c:959)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CD043C: hack_digit (printf_fp.c:176)
==2359==    by 0x4CD133F: __printf_fp_l (printf_fp.c:960)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CC9644: __mpn_mul_1 (mul_1.c:45)
==2359==    by 0x4CD0443: hack_digit (printf_fp.c:177)
==2359==    by 0x4CD133F: __printf_fp_l (printf_fp.c:960)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CC9664: __mpn_mul_1 (mul_1.c:52)
==2359==    by 0x4CD0443: hack_digit (printf_fp.c:177)
==2359==    by 0x4CD133F: __printf_fp_l (printf_fp.c:960)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CC965C: __mpn_mul_1 (mul_1.c:50)
==2359==    by 0x4CD0443: hack_digit (printf_fp.c:177)
==2359==    by 0x4CD133F: __printf_fp_l (printf_fp.c:960)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CD0448: hack_digit (printf_fp.c:177)
==2359==    by 0x4CD133F: __printf_fp_l (printf_fp.c:960)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD1354: __printf_fp_l (printf_fp.c:962)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CD1380: __printf_fp_l (printf_fp.c:972)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD138C: __printf_fp_l (printf_fp.c:972)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD139C: __printf_fp_l (printf_fp.c:972)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD1820: round_away (rounding-mode.h:52)
==2359==    by 0x4CD1820: __printf_fp_l (printf_fp.c:979)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD1514: __printf_fp_l (printf_fp.c:1147)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD15AC: __printf_fp_l (printf_fp.c:1154)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD1714: __printf_fp_l (printf_fp.c:1210)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CD16F8: __printf_fp_l (printf_fp.c:1215)
==2359==    by 0x4CCEBF7: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CEC273: vsprintf (iovsprintf.c:42)
==2359==    by 0x677C7: Alertf(char const*, ...) (supio_linux.cpp:877)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x484F8D4: strchrnul (vg_replace_strmem.c:1382)
==2359==    by 0x4CCD893: __find_specmb (printf-parse.h:108)
==2359==    by 0x4CCD893: vfprintf (vfprintf.c:1312)
==2359==    by 0x4CD4ADF: printf (printf.c:33)
==2359==    by 0x677D7: Alertf(char const*, ...) (supio_linux.cpp:879)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CF66F8: _IO_file_xsputn@@GLIBC_2.4 (fileops.c:1309)
==2359==    by 0x4CCD8EB: vfprintf (vfprintf.c:1320)
==2359==    by 0x4CD4ADF: printf (printf.c:33)
==2359==    by 0x677D7: Alertf(char const*, ...) (supio_linux.cpp:879)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== Syscall param write(buf) points to uninitialised byte(s)
==2359==    at 0x4D4F5F4: write (syscall-template.S:84)
==2359==    by 0x4CF5F4B: _IO_file_write@@GLIBC_2.4 (fileops.c:1271)
==2359==    by 0x4CF50FF: new_do_write (fileops.c:526)
==2359==    by 0x4CF714F: _IO_do_write@@GLIBC_2.4 (fileops.c:502)
==2359==    by 0x4CF75CF: _IO_file_overflow@@GLIBC_2.4 (fileops.c:867)
==2359==    by 0x4CEB6D3: puts (ioputs.c:41)
==2359==    by 0x677DF: Alertf(char const*, ...) (supio_linux.cpp:880)
==2359==    by 0x3C6DB: hgio_autoscale (hgiox.cpp:358)
==2359==    by 0x63D07: hsp3dish_init(char*) (hsp3dish.cpp:1350)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359==  Address 0x5fc6256 is 6 bytes inside a block of size 1,024 alloc'd
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x4CE8B0F: _IO_file_doallocate (filedoalloc.c:101)
==2359==    by 0x4CF83FB: _IO_doallocbuf (genops.c:398)
==2359==    by 0x4CF76A3: _IO_file_overflow@@GLIBC_2.4 (fileops.c:828)
==2359==    by 0x4CF661F: _IO_file_xsputn@@GLIBC_2.4 (fileops.c:1339)
==2359==    by 0x4CCD8EB: vfprintf (vfprintf.c:1320)
==2359==    by 0x4CD4ADF: printf (printf.c:33)
==2359==    by 0x677D7: Alertf(char const*, ...) (supio_linux.cpp:879)
==2359==    by 0x3FE67: hgio_setmainarg (hgiox.cpp:1806)
==2359==    by 0x63B2B: hsp3dish_init(char*) (hsp3dish.cpp:1309)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2364== Warning: invalid file descriptor 1024 in syscall close()
==2364== 
==2364== HEAP SUMMARY:
==2364==     in use at exit: 556,397 bytes in 150 blocks
==2364==   total heap usage: 561 allocs, 411 frees, 1,219,620 bytes allocated
==2364== 
==2364== 68 bytes in 1 blocks are possibly lost in loss record 12 of 45
==2364==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2364==    by 0x492FE7F: vcos_generic_mem_alloc_aligned (vcos_mem_from_malloc.c:56)
==2364==    by 0x48BDACB: egl_context_create (in /opt/vc/lib/libbrcmEGL.so)
==2364== 
==2364== 100 bytes in 1 blocks are possibly lost in loss record 14 of 45
==2364==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2364==    by 0x492FE7F: vcos_generic_mem_alloc_aligned (vcos_mem_from_malloc.c:56)
==2364==    by 0x4911093: vc_vchi_cec_init (in /opt/vc/lib/libbcm_host.so)
==2364== 
==2364== 160 bytes in 1 blocks are possibly lost in loss record 16 of 45
==2364==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2364==    by 0x492FE7F: vcos_generic_mem_alloc_aligned (vcos_mem_from_malloc.c:56)
==2364==    by 0x48C6AB3: khrn_global_image_map_init (in /opt/vc/lib/libbrcmEGL.so)
==2364== 
==2364== 576 bytes in 2 blocks are possibly lost in loss record 22 of 45
==2364==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2364==    by 0x492FE7F: vcos_generic_mem_alloc_aligned (vcos_mem_from_malloc.c:56)
==2364==    by 0x494998F: vchiu_queue_init (in /opt/vc/lib/libvchiq_arm.so)
==2364== 
==2364== 580 bytes in 1 blocks are possibly lost in loss record 23 of 45
==2364==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2364==    by 0x492FE7F: vcos_generic_mem_alloc_aligned (vcos_mem_from_malloc.c:56)
==2364==    by 0x48BDC1F: egl_context_create (in /opt/vc/lib/libbrcmEGL.so)
==2364== 
==2364== 2,816 bytes in 6 blocks are possibly lost in loss record 32 of 45
==2364==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2364==    by 0x492FE7F: vcos_generic_mem_alloc_aligned (vcos_mem_from_malloc.c:56)
==2364==    by 0x48DC063: khrn_pointer_map_init (in /opt/vc/lib/libbrcmEGL.so)
==2364== 
==2364== 4,164 bytes in 1 blocks are possibly lost in loss record 36 of 45
==2364==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2364==    by 0x492FE7F: vcos_generic_mem_alloc_aligned (vcos_mem_from_malloc.c:56)
==2364==    by 0x48DB523: client_thread_attach (in /opt/vc/lib/libbrcmEGL.so)
==2364== 
==2364== 37,152 bytes in 9 blocks are definitely lost in loss record 42 of 45
==2364==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2364==    by 0x492FE7F: vcos_generic_mem_alloc_aligned (vcos_mem_from_malloc.c:56)
==2364==    by 0x49471FB: completion_thread (in /opt/vc/lib/libvchiq_arm.so)
==2364== 
==2364== LEAK SUMMARY:
==2364==    definitely lost: 37,152 bytes in 9 blocks
==2364==    indirectly lost: 0 bytes in 0 blocks
==2364==      possibly lost: 8,464 bytes in 13 blocks
==2364==    still reachable: 510,781 bytes in 128 blocks
==2364==         suppressed: 0 bytes in 0 blocks
==2364== Reachable blocks (those to which a pointer was found) are not shown.
==2364== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==2364== 
==2364== For counts of detected and suppressed errors, rerun with: -v
==2364== Use --track-origins=yes to see where uninitialised values come from
==2364== ERROR SUMMARY: 344 errors from 101 contexts (suppressed: 6 from 3)
==2359== Invalid read of size 8
==2359==    at 0x4865DD0: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359==  Address 0x60e79d8 is 8 bytes inside a block of size 15 alloc'd
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x4E06653: ??? (in /usr/lib/arm-linux-gnueabihf/libasound.so.2.0.0)
==2359== 
==2359== Syscall param ioctl(generic) points to uninitialised byte(s)
==2359==    at 0x4D57C7C: ioctl (syscall-template.S:84)
==2359==    by 0x62D73: MCP3008_FullDuplex(int, int) (hsp3dish.cpp:994)
==2359==    by 0x6375B: hsp3dish_devcontrol(char*, int, int, int) (hsp3dish.cpp:1205)
==2359==    by 0x2BCEF: cmdfunc_extcmd(int) (hsp3gr_dish.cpp:1301)
==2359==    by 0x239F7: code_callfunc(int) (hsp3code.cpp:1260)
==2359==    by 0x2456F: reffunc_custom(int*, int) (hsp3code.cpp:1581)
==2359==    by 0x221DF: code_get() (hsp3code.cpp:680)
==2359==    by 0x24897: cmdfunc_var(int) (hsp3code.cpp:1656)
==2359==    by 0x27787: code_execcmd() (hsp3code.cpp:2858)
==2359==    by 0x640FF: hsp3dish_exec() (hsp3dish.cpp:1510)
==2359==    by 0x41EBF: main (main.cpp:28)
==2359==  Address 0x7dcf19c4 is on thread 1's stack
==2359==  in frame #1, created by MCP3008_FullDuplex(int, int) (hsp3dish.cpp:970)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C8074: rpc_recv (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C70C8: recv_bulk (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865EDC: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865EF8: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865F28: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== 
==2359== More than 100 errors detected.  Subsequent errors
==2359== will still be recorded, but in less detail than before.
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865F2C: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865F30: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865F38: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865F3C: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865F40: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865F44: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865F4C: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865F50: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4865F50: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865F58: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865F60: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4865F6C: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x489EAEC: glTexImage2D (in /opt/vc/lib/libbrcmGLESv2.so)
==2359== 
==2359== Thread 2 VCHIQ completio:
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C71D0: khrn_callback (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C71D8: khrn_callback (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Thread 1:
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x3B604: ChangeTex (hgtex.cpp:192)
==2359==    by 0x3E90F: hgio_fcopy(float, float, short, short, short, short, int, int) (hgiox.cpp:1322)
==2359==    by 0x405DB: hgio_putTexFont (hgiox.cpp:1948)
==2359==    by 0x3D34F: hgio_messub(BMSCR*, char*) (hgiox.cpp:884)
==2359==    by 0x3D55B: hgio_mes (hgiox.cpp:946)
==2359==    by 0x36A5B: Bmscr::Print(char*) (hspwnd_dish.cpp:485)
==2359==    by 0x2A0A7: cmdfunc_extcmd(int) (hsp3gr_dish.cpp:640)
==2359==    by 0x27787: code_execcmd() (hsp3code.cpp:2858)
==2359==    by 0x640FF: hsp3dish_exec() (hsp3dish.cpp:1510)
==2359==    by 0x41EBF: main (main.cpp:28)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48A3C88: khrn_cache_lookup (in /opt/vc/lib/libbrcmGLESv2.so)
==2359== 
==2359== Source and destination overlap in strncpy(0x603bfc8, 0x603bfc8, 63)
==2359==    at 0x484B6AC: strncpy (vg_replace_strmem.c:549)
==2359==    by 0x36993: Bmscr::SetFont(char*, int, int) (hspwnd_dish.cpp:462)
==2359==    by 0x369F7: Bmscr::SetDefaultFont() (hspwnd_dish.cpp:472)
==2359==    by 0x2A41F: cmdfunc_extcmd(int) (hsp3gr_dish.cpp:720)
==2359==    by 0x27787: code_execcmd() (hsp3code.cpp:2858)
==2359==    by 0x640FF: hsp3dish_exec() (hsp3dish.cpp:1510)
==2359==    by 0x41EBF: main (main.cpp:28)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C1454: eglSwapBuffers (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C1620: eglSwapBuffers (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Thread 2 VCHIQ completio:
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C6FD0: khan_callback (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x48C6FF0: khan_callback (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x48C6FF8: khan_callback (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C7004: khan_callback (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x48C7008: khan_callback (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C7010: khan_callback (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C7034: khan_callback (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x48C8528: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CCA740: _itoa_word (_itoa.c:180)
==2359==    by 0x4CCF117: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCA748: _itoa_word (_itoa.c:180)
==2359==    by 0x4CCF117: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCE578: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCE684: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCE704: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CEAD2C: _IO_padn (iopadn.c:54)
==2359==    by 0x4CCE717: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CEAD9C: _IO_padn (iopadn.c:62)
==2359==    by 0x4CCE717: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CF84DC: _IO_default_xsputn (genops.c:425)
==2359==    by 0x4CEADD7: _IO_padn (iopadn.c:64)
==2359==    by 0x4CCE717: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CF8520: _IO_default_xsputn (genops.c:435)
==2359==    by 0x4CEADD7: _IO_padn (iopadn.c:64)
==2359==    by 0x4CCE717: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CF8528: _IO_default_xsputn (genops.c:445)
==2359==    by 0x4CEADD7: _IO_padn (iopadn.c:64)
==2359==    by 0x4CCE717: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CF8540: _IO_default_xsputn (genops.c:449)
==2359==    by 0x4CEADD7: _IO_padn (iopadn.c:64)
==2359==    by 0x4CCE717: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CF8554: _IO_default_xsputn (genops.c:455)
==2359==    by 0x4CEADD7: _IO_padn (iopadn.c:64)
==2359==    by 0x4CCE717: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCE71C: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCE734: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCE740: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CF850C: _IO_default_xsputn (genops.c:430)
==2359==    by 0x4CCE76F: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CF8520: _IO_default_xsputn (genops.c:435)
==2359==    by 0x4CCE76F: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CF8528: _IO_default_xsputn (genops.c:445)
==2359==    by 0x4CCE76F: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CF853C: _IO_default_xsputn (genops.c:450)
==2359==    by 0x4CCE76F: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CF8540: _IO_default_xsputn (genops.c:449)
==2359==    by 0x4CCE76F: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CF8554: _IO_default_xsputn (genops.c:455)
==2359==    by 0x4CCE76F: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCE774: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCE784: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCDE24: vfprintf (vfprintf.c:1668)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCDE6C: vfprintf (vfprintf.c:1668)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CF850C: _IO_default_xsputn (genops.c:430)
==2359==    by 0x4CEADD7: _IO_padn (iopadn.c:64)
==2359==    by 0x4CCE717: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CF853C: _IO_default_xsputn (genops.c:450)
==2359==    by 0x4CEADD7: _IO_padn (iopadn.c:64)
==2359==    by 0x4CCE717: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x4CCE724: vfprintf (vfprintf.c:1636)
==2359==    by 0x4CF2D2B: vsnprintf (vsnprintf.c:114)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Use of uninitialised value of size 4
==2359==    at 0x4CF2D38: vsnprintf (vsnprintf.c:117)
==2359==    by 0x492F067: vcos_snprintf (vcos_pthreads.c:527)
==2359==    by 0x48C855B: khronos_platform_semaphore_create (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C7058: khan_callback (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Conditional jump or move depends on uninitialised value(s)
==2359==    at 0x48C7060: khan_callback (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== Thread 1:
==2359== Syscall param ioctl(generic) points to unaddressable byte(s)
==2359==    at 0x4D57C7C: ioctl (syscall-template.S:84)
==2359==    by 0x6156B: doneMouse() (hsp3dish.cpp:277)
==2359==    by 0x619EB: doneInput() (hsp3dish.cpp:404)
==2359==    by 0x63F7F: hsp3dish_bye() (hsp3dish.cpp:1454)
==2359==    by 0x64137: hsp3dish_exec() (hsp3dish.cpp:1522)
==2359==    by 0x41EBF: main (main.cpp:28)
==2359==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==2359== 
==2359== 
==2359== Process terminating with default action of signal 2 (SIGINT)
==2359==    at 0x4D2A454: _Exit (_exit.c:31)
==2359==    by 0x4CBBD87: __run_exit_handlers (exit.c:98)
==2359==    by 0x4CBBE33: exit (exit.c:105)
==2359==    by 0x4CA467B: (below main) (libc-start.c:325)
==2359== 
==2359== HEAP SUMMARY:
==2359==     in use at exit: 448,669 bytes in 1,589 blocks
==2359==   total heap usage: 2,977 allocs, 1,388 frees, 1,780,685 bytes allocated
==2359== 
==2359== 2 bytes in 1 blocks are definitely lost in loss record 1 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x203FB: Hsp3::copy_DAT(char*, unsigned int) (hsp3.cpp:255)
==2359==    by 0x2014F: Hsp3::Reset(int) (hsp3.cpp:173)
==2359==    by 0x63AEB: hsp3dish_init(char*) (hsp3dish.cpp:1304)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== 36 bytes in 2 blocks are possibly lost in loss record 10 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x4D03933: strdup (strdup.c:42)
==2359==    by 0x4E0C21B: ??? (in /usr/lib/arm-linux-gnueabihf/libasound.so.2.0.0)
==2359== 
==2359== 56 bytes in 2 blocks are possibly lost in loss record 14 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x4E0C15B: ??? (in /usr/lib/arm-linux-gnueabihf/libasound.so.2.0.0)
==2359== 
==2359== 100 bytes in 1 blocks are possibly lost in loss record 16 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x492FE7F: vcos_generic_mem_alloc_aligned (vcos_mem_from_malloc.c:56)
==2359==    by 0x4911093: vc_vchi_cec_init (in /opt/vc/lib/libbcm_host.so)
==2359== 
==2359== 132 bytes in 66 blocks are possibly lost in loss record 17 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x4D03933: strdup (strdup.c:42)
==2359==    by 0x4E035CF: ??? (in /usr/lib/arm-linux-gnueabihf/libasound.so.2.0.0)
==2359== 
==2359== 176 bytes in 1 blocks are possibly lost in loss record 18 of 39
==2359==    at 0x4849CE0: calloc (vg_replace_malloc.c:711)
==2359==    by 0x40136BF: allocate_dtv (dl-tls.c:322)
==2359==    by 0x40140F7: _dl_allocate_tls (dl-tls.c:539)
==2359==    by 0x4961C57: allocate_stack (allocatestack.c:584)
==2359==    by 0x4961C57: pthread_create@@GLIBC_2.4 (pthread_create.c:663)
==2359==    by 0x492F203: vcos_thread_create (vcos_pthreads.c:212)
==2359==    by 0x4947413: vchiq_connect (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== 176 bytes in 1 blocks are possibly lost in loss record 19 of 39
==2359==    at 0x4849CE0: calloc (vg_replace_malloc.c:711)
==2359==    by 0x40136BF: allocate_dtv (dl-tls.c:322)
==2359==    by 0x40140F7: _dl_allocate_tls (dl-tls.c:539)
==2359==    by 0x4961C57: allocate_stack (allocatestack.c:584)
==2359==    by 0x4961C57: pthread_create@@GLIBC_2.4 (pthread_create.c:663)
==2359==    by 0x492F203: vcos_thread_create (vcos_pthreads.c:212)
==2359==    by 0x491483F: vc_vchi_dispmanx_init (in /opt/vc/lib/libbcm_host.so)
==2359== 
==2359== 176 bytes in 1 blocks are possibly lost in loss record 20 of 39
==2359==    at 0x4849CE0: calloc (vg_replace_malloc.c:711)
==2359==    by 0x40136BF: allocate_dtv (dl-tls.c:322)
==2359==    by 0x40140F7: _dl_allocate_tls (dl-tls.c:539)
==2359==    by 0x4961C57: allocate_stack (allocatestack.c:584)
==2359==    by 0x4961C57: pthread_create@@GLIBC_2.4 (pthread_create.c:663)
==2359==    by 0x492F203: vcos_thread_create (vcos_pthreads.c:212)
==2359==    by 0x490B66B: vc_vchi_tv_init (in /opt/vc/lib/libbcm_host.so)
==2359== 
==2359== 176 bytes in 1 blocks are possibly lost in loss record 21 of 39
==2359==    at 0x4849CE0: calloc (vg_replace_malloc.c:711)
==2359==    by 0x40136BF: allocate_dtv (dl-tls.c:322)
==2359==    by 0x40140F7: _dl_allocate_tls (dl-tls.c:539)
==2359==    by 0x4961C57: allocate_stack (allocatestack.c:584)
==2359==    by 0x4961C57: pthread_create@@GLIBC_2.4 (pthread_create.c:663)
==2359==    by 0x492F203: vcos_thread_create (vcos_pthreads.c:212)
==2359==    by 0x4911273: vc_vchi_cec_init (in /opt/vc/lib/libbcm_host.so)
==2359== 
==2359== 176 bytes in 1 blocks are definitely lost in loss record 22 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x203FB: Hsp3::copy_DAT(char*, unsigned int) (hsp3.cpp:255)
==2359==    by 0x2011B: Hsp3::Reset(int) (hsp3.cpp:172)
==2359==    by 0x63AEB: hsp3dish_init(char*) (hsp3dish.cpp:1304)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== 392 bytes in 1 blocks are definitely lost in loss record 25 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x203FB: Hsp3::copy_DAT(char*, unsigned int) (hsp3.cpp:255)
==2359==    by 0x201B7: Hsp3::Reset(int) (hsp3.cpp:176)
==2359==    by 0x63AEB: hsp3dish_init(char*) (hsp3dish.cpp:1304)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== 576 bytes in 2 blocks are possibly lost in loss record 26 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x492FE7F: vcos_generic_mem_alloc_aligned (vcos_mem_from_malloc.c:56)
==2359==    by 0x494998F: vchiu_queue_init (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== 952 bytes in 1 blocks are definitely lost in loss record 27 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x2059F: Hsp3::copy_STRUCTDAT(HSPHED*, char*, unsigned int) (hsp3.cpp:302)
==2359==    by 0x201EB: Hsp3::Reset(int) (hsp3.cpp:177)
==2359==    by 0x63AEB: hsp3dish_init(char*) (hsp3dish.cpp:1304)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== 4,164 bytes in 1 blocks are possibly lost in loss record 31 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x492FE7F: vcos_generic_mem_alloc_aligned (vcos_mem_from_malloc.c:56)
==2359==    by 0x48DB523: client_thread_attach (in /opt/vc/lib/libbrcmEGL.so)
==2359== 
==2359== 6,945 bytes in 825 blocks are possibly lost in loss record 32 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x4E002BF: ??? (in /usr/lib/arm-linux-gnueabihf/libasound.so.2.0.0)
==2359== 
==2359== 6,952 bytes in 1 blocks are possibly lost in loss record 33 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x203FB: Hsp3::copy_DAT(char*, unsigned int) (hsp3.cpp:255)
==2359==    by 0x200CB: Hsp3::Reset(int) (hsp3.cpp:170)
==2359==    by 0x63AEB: hsp3dish_init(char*) (hsp3dish.cpp:1304)
==2359==    by 0x41EA7: main (main.cpp:26)
==2359== 
==2359== 16,512 bytes in 4 blocks are definitely lost in loss record 35 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x492FE7F: vcos_generic_mem_alloc_aligned (vcos_mem_from_malloc.c:56)
==2359==    by 0x49471FB: completion_thread (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== 24,768 bytes in 6 blocks are possibly lost in loss record 37 of 39
==2359==    at 0x4847568: malloc (vg_replace_malloc.c:299)
==2359==    by 0x492FE7F: vcos_generic_mem_alloc_aligned (vcos_mem_from_malloc.c:56)
==2359==    by 0x49471FB: completion_thread (in /opt/vc/lib/libvchiq_arm.so)
==2359== 
==2359== 26,880 bytes in 560 blocks are possibly lost in loss record 38 of 39
==2359==    at 0x4849CE0: calloc (vg_replace_malloc.c:711)
==2359==    by 0x4E0014B: ??? (in /usr/lib/arm-linux-gnueabihf/libasound.so.2.0.0)
==2359== 
==2359== LEAK SUMMARY:
==2359==    definitely lost: 18,034 bytes in 8 blocks
==2359==    indirectly lost: 0 bytes in 0 blocks
==2359==      possibly lost: 71,313 bytes in 1,470 blocks
==2359==    still reachable: 359,322 bytes in 111 blocks
==2359==         suppressed: 0 bytes in 0 blocks
==2359== Reachable blocks (those to which a pointer was found) are not shown.
==2359== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==2359== 
==2359== For counts of detected and suppressed errors, rerun with: -v
==2359== Use --track-origins=yes to see where uninitialised values come from
==2359== ERROR SUMMARY: 2186 errors from 179 contexts (suppressed: 6 from 3)

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @Mai on Jul 31, 2019, 06:51

+  tr.tx_nbits = 72;
+  tr.rx_nbits = 1;
+  tr.pad = 12;

追加してみたけど動かなかった。memsetもダメ。

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @Mai on Jul 31, 2019, 06:53

rpz-gpioとrpz-faboを一緒に入れるangle.hspですが、
そもそもrpz-gpioに新規の関数を追加すると動かない

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Aug 1, 2019, 03:13

  • 何に書きましたか? dishで動かす場合には+++ b/src/hsp3dish/raspbian/hsp3dish.cppに書く必要があります (patchコマンドを使うと確実です)
  • コンパイル通りましたか?異なるバイナリを誤って使っているなどしていませんか?

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @Mai on Aug 1, 2019, 05:33

コンパイルしたら動きました!
rpz-gpioとrpz-faboを一緒に使うと、配列の要素が無効と言われます。
hsp3dishとrpz-faboは一緒にincludeしても動きます(angle.hsp)。

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @Mai on Aug 1, 2019, 05:35

rpz-faboを先にincludeしたら動きました。
もうfaboの中のmoduleをgpioに入れちゃっていいかな

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Aug 1, 2019, 05:55

お待ちください 別branchで作業して早めにmasterに作用させちゃいます

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Aug 17, 2019, 06:40

 struct spi_ioc_transfer tr;

を初期化することで修正 (merged)

from ome2019.

RollMan avatar RollMan commented on July 29, 2024

In GitLab by @yshimmyo on Aug 17, 2019, 06:40

closed

from ome2019.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.