It is currently Tue Dec 12, 2017 2:56 pm

All times are UTC - 7 hours



Forum rules


Related:



Post new topic Reply to topic  [ 5 posts ] 
Author Message
PostPosted: Mon Apr 10, 2017 12:47 pm 
Online

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19335
Location: NE Indiana, USA (NTSC)
Because no$sns 1.6 is infected, I've been looking for alternative means to debug my SPC700 code. In this post, Oziphantom recommended vspcplay. But when I built it under Xubuntu 16.04 (64-bit), it gave disturbing warnings, and when I ran it, it crashed.

Code:
.../vspcplay-1.3$ make
g++ -O3 -funroll-loops -Wall -I../../src `sdl-config --cflags` -Wall -c apu.cpp
apu.cpp: In function ‘void S9xFixEnvelope(int, uint8, uint8, uint8)’:
apu.cpp:764:3: warning: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ inside { } is ill-formed in C++11 [-Wnarrowing]
   };
   ^
apu.cpp:806:4: warning: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ inside { } is ill-formed in C++11 [-Wnarrowing]
    };
    ^
apu.cpp:812:4: warning: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ inside { } is ill-formed in C++11 [-Wnarrowing]
    };
    ^
g++ -O3 -funroll-loops -Wall -I../../src `sdl-config --cflags` -Wall -c globals.cpp
g++ -O3 -funroll-loops -Wall -I../../src `sdl-config --cflags` -Wall -c libspc.cpp
libspc.cpp: In function ‘void RestoreSPC()’:
libspc.cpp:212:18: warning: unused variable ‘ch’ [-Wunused-variable]
         Channel *ch = &SoundData.channels[i];
                  ^
libspc.cpp: In function ‘int SPC_load(const char*)’:
libspc.cpp:251:10: warning: unused variable ‘temp’ [-Wunused-variable]
     char temp[64];
          ^
libspc.cpp: In function ‘SPC_ID666* SPC_get_id666FP(FILE*)’:
libspc.cpp:330:17: warning: unused variable ‘fadetime_str’ [-Wunused-variable]
   unsigned char fadetime_str[5] = { 0, 0, 0, 0, 0 };
                 ^
libspc.cpp: In function ‘int SPC_loadFP(FILE*)’:
libspc.cpp:282:21: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
  fread(&a, 1, 1, fp);
                     ^
libspc.cpp:283:21: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
  fread(&b, 1, 1, fp);
                     ^
libspc.cpp:287:48: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
     fread(&BackupAPURegisters.YA.B.A, 1, 1, fp);
                                                ^
libspc.cpp:288:43: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
     fread(&BackupAPURegisters.X, 1, 1, fp);
                                           ^
libspc.cpp:289:48: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
     fread(&BackupAPURegisters.YA.B.Y, 1, 1, fp);
                                                ^
libspc.cpp:290:43: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
     fread(&BackupAPURegisters.P, 1, 1, fp);
                                           ^
libspc.cpp:291:43: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
     fread(&BackupAPURegisters.S, 1, 1, fp);
                                           ^
libspc.cpp:294:40: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
     fread(BackupAPURAM, 1, 0x10000, fp);
                                        ^
libspc.cpp:295:36: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
     fread(BackupDSPRAM, 1, 128, fp);
                                    ^
libspc.cpp:296:27: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
     fread(temp, 1, 64, fp);
                           ^
libspc.cpp:297:40: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
     fread(BackupAPUExtraRAM, 1, 64, fp);
                                        ^
libspc.cpp: In function ‘SPC_ID666* SPC_get_id666FP(FILE*)’:
libspc.cpp:345:33: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
   fread(id->songname, 1, 32, fp);
                                 ^
libspc.cpp:348:34: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
   fread(id->gametitle, 1, 32, fp);
                                  ^
libspc.cpp:351:31: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
   fread(id->dumper, 1, 16, fp);
                               ^
libspc.cpp:354:33: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
   fread(id->comments, 1, 32, fp);
                                 ^
libspc.cpp:358:32: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
   fread(playtime_str, 1, 3, fp);
                                ^
libspc.cpp:376:31: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
   fread(id->author, 1, 32, fp);
                               ^
libspc.cpp: In function ‘int SPC_write_id666(SPC_ID666*, const char*)’:
libspc.cpp:404:34: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
   fread(spc_buf, 1, spc_size, fp);
                                  ^
libspc.cpp: In function ‘SPC_ID666* SPC_get_id666FP(FILE*)’:
libspc.cpp:346:18: warning: array subscript is above array bounds [-Warray-bounds]
   id->songname[33] = '\0';
                  ^
libspc.cpp:349:19: warning: array subscript is above array bounds [-Warray-bounds]
   id->gametitle[33] = '\0';
                   ^
libspc.cpp:352:16: warning: array subscript is above array bounds [-Warray-bounds]
   id->dumper[17] = '\0';
                ^
libspc.cpp:355:18: warning: array subscript is above array bounds [-Warray-bounds]
   id->comments[33] = '\0';
                  ^
libspc.cpp:377:16: warning: array subscript is above array bounds [-Warray-bounds]
   id->author[33] = '\0';
                ^
g++ -O3 -funroll-loops -Wall -I../../src `sdl-config --cflags` -Wall -c soundux.cpp
g++ -O3 -funroll-loops -Wall -I../../src `sdl-config --cflags` -Wall -c spc700.cpp
spc700.cpp: In function ‘void STOP(char*)’:
spc700.cpp:111:108: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long int’ [-Wformat=]
 U in unknown state executing %s at %04X\n%s\n", s, IAPU.PC - IAPU.RAM, buffer);
                                                                              ^
gcc -O3 -funroll-loops -Wall -I../../src `sdl-config --cflags` -Wall -c main.c
main.c: In function ‘main’:
main.c:586:21: warning: pointer targets in passing argument 1 of ‘atoi’ differ in signedness [-Wpointer-sign]
    song_time = atoi(tag.seconds_til_fadeout);
                     ^
In file included from /usr/include/features.h:367:0,
                 from /usr/include/stdio.h:27,
                 from main.c:25:
/usr/include/stdlib.h:278:1: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
 __NTH (atoi (const char *__nptr))
 ^
main.c:600:15: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness [-Wpointer-sign]
    if (strlen(tag.title)) {
               ^
In file included from main.c:27:0:
/usr/include/string.h:394:15: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
 extern size_t strlen (const char *__s)
               ^
main.c:973:12: warning: variable ‘cur_color’ set but not used [-Wunused-but-set-variable]
     Uint32 cur_color;
            ^
main.c:521:17: warning: variable ‘cur_time’ set but not used [-Wunused-but-set-variable]
  int song_time, cur_time; // in seconds
                 ^
main.c:515:6: warning: variable ‘updates’ set but not used [-Wunused-but-set-variable]
  int updates;
      ^
main.c:513:11: warning: variable ‘buf’ set but not used [-Wunused-but-set-variable]
     void *buf=NULL;
           ^
In file included from /usr/include/string.h:635:0,
                 from main.c:27:
In function ‘strncat’,
    inlined from ‘write_mask’ at main.c:315:2:
/usr/include/x86_64-linux-gnu/bits/string3.h:156:10: warning: call to __builtin___strncat_chk might overflow destination buffer
   return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
          ^
In file included from /usr/include/stdio.h:936:0,
                 from main.c:25:
In function ‘sprintf’,
    inlined from ‘main’ at main.c:652:3:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: warning: call to __builtin___sprintf_chk will always overflow destination buffer
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^
gcc -O3 -funroll-loops -Wall -I../../src `sdl-config --cflags` -Wall -c font.c
gcc -O3 -funroll-loops -Wall -I../../src `sdl-config --cflags` -Wall -c sdlfont.c
sdlfont.c: In function ‘_sdlfont_drawChar’:
sdlfont.c:51:4: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]
  c = font_getChar(ch);
    ^
sdlfont.c: At top level:
sdlfont.c:8:13: warning: ‘put4pixel’ defined but not used [-Wunused-function]
 static void put4pixel(SDL_Surface *surface, int x, int y, Uint32 pixel)
             ^
gcc -O3 -funroll-loops -Wall -I../../src `sdl-config --cflags` -Wall -c id666.c
id666.c: In function ‘read_id666’:
id666.c:32:10: warning: pointer targets in passing argument 1 of ‘strcpy’ differ in signedness [-Wpointer-sign]
   strcpy(tag->title, "");
          ^
In file included from /usr/include/features.h:367:0,
                 from /usr/include/stdio.h:27,
                 from id666.c:18:
/usr/include/x86_64-linux-gnu/bits/string3.h:108:1: note: expected ‘char * restrict’ but argument is of type ‘unsigned char *’
 __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
 ^
id666.c:33:10: warning: pointer targets in passing argument 1 of ‘strcpy’ differ in signedness [-Wpointer-sign]
   strcpy(tag->game_title, "");
          ^
In file included from /usr/include/features.h:367:0,
                 from /usr/include/stdio.h:27,
                 from id666.c:18:
/usr/include/x86_64-linux-gnu/bits/string3.h:108:1: note: expected ‘char * restrict’ but argument is of type ‘unsigned char *’
 __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
 ^
id666.c:34:10: warning: pointer targets in passing argument 1 of ‘strcpy’ differ in signedness [-Wpointer-sign]
   strcpy(tag->name_of_dumper, "");
          ^
In file included from /usr/include/features.h:367:0,
                 from /usr/include/stdio.h:27,
                 from id666.c:18:
/usr/include/x86_64-linux-gnu/bits/string3.h:108:1: note: expected ‘char * restrict’ but argument is of type ‘unsigned char *’
 __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
 ^
id666.c:35:10: warning: pointer targets in passing argument 1 of ‘strcpy’ differ in signedness [-Wpointer-sign]
   strcpy(tag->comments, "");
          ^
In file included from /usr/include/features.h:367:0,
                 from /usr/include/stdio.h:27,
                 from id666.c:18:
/usr/include/x86_64-linux-gnu/bits/string3.h:108:1: note: expected ‘char * restrict’ but argument is of type ‘unsigned char *’
 __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
 ^
id666.c:36:10: warning: pointer targets in passing argument 1 of ‘strcpy’ differ in signedness [-Wpointer-sign]
   strcpy(tag->seconds_til_fadeout, "150"); // 2.5 minutes
          ^
In file included from /usr/include/features.h:367:0,
                 from /usr/include/stdio.h:27,
                 from id666.c:18:
/usr/include/x86_64-linux-gnu/bits/string3.h:108:1: note: expected ‘char * restrict’ but argument is of type ‘unsigned char *’
 __NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
 ^
id666.c:28:2: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
  fread(&istag, 1, 1, fptr);
  ^
id666.c:42:2: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
  fread(&tag->title, 32, 1, fptr);
  ^
id666.c:44:2: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
  fread(&tag->game_title, 32, 1, fptr);
  ^
id666.c:46:2: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
  fread(&tag->name_of_dumper, 16, 1, fptr);
  ^
id666.c:48:2: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
  fread(&tag->comments, 32, 1, fptr);
  ^
id666.c:52:2: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
  fread(&tag->seconds_til_fadeout, 3, 1, fptr);
  ^
g++ apu.o globals.o libspc.o soundux.o spc700.o main.o font.o sdlfont.o id666.o -o vspcplay `sdl-config --libs` -lm
.../vspcplay-1.3$ gdb ./vspcplay
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./vspcplay...(no debugging symbols found)...done.
(gdb) r /path/to/my/music.spc
Starting program: /home/pino/develop/vspcplay-1.3/vspcplay ../spc/lorom-template.spc
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
vspcplay v1.3
spc buffer size: 1764
[New Thread 0x7fffedf40700 (LWP 8498)]
[Thread 0x7fffedf40700 (LWP 8498) exited]
[New Thread 0x7fffedf40700 (LWP 8499)]
sdl audio frag size: 2048
*** buffer overflow detected ***: /home/pino/develop/vspcplay-1.3/vspcplay terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7ffff74e37e5]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7ffff758456c]
/lib/x86_64-linux-gnu/libc.so.6(+0x116570)[0x7ffff7582570]
/lib/x86_64-linux-gnu/libc.so.6(+0x115ad9)[0x7ffff7581ad9]
/lib/x86_64-linux-gnu/libc.so.6(_IO_default_xsputn+0x80)[0x7ffff74e76b0]
/lib/x86_64-linux-gnu/libc.so.6(_IO_vfprintf+0xd1)[0x7ffff74b9241]
/lib/x86_64-linux-gnu/libc.so.6(__vsprintf_chk+0x84)[0x7ffff7581b64]
/lib/x86_64-linux-gnu/libc.so.6(__sprintf_chk+0x7d)[0x7ffff7581abd]
/home/pino/develop/vspcplay-1.3/vspcplay(main+0x16e5)[0x402d05]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7ffff748c830]
/home/pino/develop/vspcplay-1.3/vspcplay[0x403449]
======= Memory map: ========
00400000-00423000 r-xp 00000000 fc:00 12714171                           /home/pino/develop/vspcplay-1.3/vspcplay
00622000-00623000 r--p 00022000 fc:00 12714171                           /home/pino/develop/vspcplay-1.3/vspcplay
00623000-00625000 rw-p 00023000 fc:00 12714171                           /home/pino/develop/vspcplay-1.3/vspcplay
00625000-007f5000 rw-p 00000000 00:00 0                                  [heap]
7fffdfffe000-7fffe3fff000 rw-s 00000000 00:14 8                          /dev/shm/pulse-shm-3696474262
7fffe3fff000-7fffe8000000 rw-s 00000000 00:14 10                         /dev/shm/pulse-shm-2238925562
7fffe8000000-7fffe8021000 rw-p 00000000 00:00 0
7fffe8021000-7fffec000000 ---p 00000000 00:00 0
7fffed740000-7fffed741000 ---p 00000000 00:00 0
7fffed741000-7fffedf41000 rw-p 00000000 00:00 0
7ffff1a56000-7ffff1a6c000 r-xp 00000000 fc:00 659910                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff1a6c000-7ffff1c6b000 ---p 00016000 fc:00 659910                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff1c6b000-7ffff1c6c000 rw-p 00015000 fc:00 659910                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff1c6c000-7ffff1d6d000 rw-p 00000000 00:00 0
7ffff1d6d000-7ffff1f42000 rw-s 00000000 00:05 38207525                   /SYSV00000000 (deleted)
7ffff1f42000-7ffff1f47000 r-xp 00000000 fc:00 4727416                    /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7ffff1f47000-7ffff2146000 ---p 00005000 fc:00 4727416                    /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7ffff2146000-7ffff2147000 r--p 00004000 fc:00 4727416                    /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7ffff2147000-7ffff2148000 rw-p 00005000 fc:00 4727416                    /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7ffff2148000-7ffff2151000 r-xp 00000000 fc:00 4727434                    /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7ffff2151000-7ffff2350000 ---p 00009000 fc:00 4727434                    /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7ffff2350000-7ffff2351000 r--p 00008000 fc:00 4727434                    /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7ffff2351000-7ffff2352000 rw-p 00009000 fc:00 4727434                    /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7ffff2352000-7ffff235b000 r-xp 00000000 fc:00 4727408                    /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
7ffff235b000-7ffff255a000 ---p 00009000 fc:00 4727408                    /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
7ffff255a000-7ffff255b000 r--p 00008000 fc:00 4727408                    /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
7ffff255b000-7ffff255c000 rw-p 00009000 fc:00 4727408                    /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
7ffff255c000-7ffff2834000 r--p 00000000 fc:00 4718891                    /usr/lib/locale/locale-archive
7ffff2834000-7ffff285e000 r-xp 00000000 fc:00 4728544                    /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8
7ffff285e000-7ffff2a5e000 ---p 0002a000 fc:00 4728544                    /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8
7ffff2a5e000-7ffff2a5f000 r--p 0002a000 fc:00 4728544                    /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8
7ffff2a5f000-7ffff2a60000 rw-p 0002b000 fc:00 4728544                    /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8
7ffff2a60000-7ffff2a67000 r-xp 00000000 fc:00 4728228                    /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2
7ffff2a67000-7ffff2c67000 ---p 00007000 fc:00 4728228                    /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2
7ffff2c67000-7ffff2c68000 r--p 00007000 fc:00 4728228                    /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2
7ffff2c68000-7ffff2c69000 rw-p 00008000 fc:00 4728228                    /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2
7ffff2c69000-7ffff2c7b000 r-xp 00000000 fc:00 659916                     /lib/x86_64-linux-gnu/libgpg-error.so.0.17.0
7ffff2c7b000-7ffff2e7b000 ---p 00012000 fc:00 659916                     /lib/x86_64-linux-gnu/libgpg-error.so.0.17.0
7ffff2e7b000-7ffff2e7c000 r--p 00012000 fc:00 659916                     /lib/x86_64-linux-gnu/libgpg-error.so.0.17.0
7ffff2e7c000-7ffff2e7d000 rw-p 00013000 fc:00 659916                     /lib/x86_64-linux-gnu/libgpg-error.so.0.17.0
7ffff2e7d000-7ffff2eeb000 r-xp 00000000 fc:00 660001                     /lib/x86_64-linux-gnu/libpcre.so.3.13.2
7ffff2eeb000-7ffff30eb000 ---p 0006e000 fc:00 660001                     /lib/x86_64-linux-gnu/libpcre.so.3.13.2
7ffff30eb000-7ffff30ec000 r--p 0006e000 fc:00 660001                     /lib/x86_64-linux-gnu/libpcre.so.3.13.2
7ffff30ec000-7ffff30ed000 rw-p 0006f000 fc:00 660001                     /lib/x86_64-linux-gnu/libpcre.so.3.13.2
7ffff30ed000-7ffff3104000 r-xp 00000000 fc:00 659628                     /lib/x86_64-linux-gnu/libresolv-2.23.so
7ffff3104000-7ffff3304000 ---p 00017000 fc:00 659628                     /lib/x86_64-linux-gnu/libresolv-2.23.so
7ffff3304000-7ffff3305000 r--p 00017000 fc:00 659628                     /lib/x86_64-linux-gnu/libresolv-2.23.so
7ffff3305000-7ffff3306000 rw-p 00018000 fc:00 659628                     /lib/x86_64-linux-gnu/libresolv-2.23.so
7ffff3306000-7ffff3308000 rw-p 00000000 00:00 0
7ffff3308000-7ffff3395000 r-xp 00000000 fc:00 4728546                    /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11
7ffff3395000-7ffff3594000 ---p 0008d000 fc:00 4728546                    /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11
7ffff3594000-7ffff35b0000 r--p 0008c000 fc:00 4728546                    /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11
7ffff35b0000-7ffff35b1000 rw-p 000a8000 fc:00 4728546                    /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11
7ffff35b1000-7ffff3624000 r-xp 00000000 fc:00 4727359                    /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0
7ffff3624000-7ffff3824000 ---p 00073000 fc:00 4727359                    /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0
7ffff3824000-7ffff3825000 r--p 00073000 fc:00 4727359                    /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0
7ffff3825000-7ffff3826000 rw-p 00074000 fc:00 4727359                    /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0
7ffff3826000-7ffff383c000 r-xp 00000000 fc:00 659614                     /lib/x86_64-linux-gnu/libnsl-2.23.so
7ffff383c000-7ffff3a3b000 ---p 00016000 fc:00 659614                     /lib/x86_64-linux-gnu/libnsl-2.23.so
7ffff3a3b000-7ffff3a3c000 r--p 00015000 fc:00 659614                     /lib/x86_64-linux-gnu/libnsl-2.23.so
7ffff3a3c000-7ffff3a3d000 rw-p 00016000 fc:00 659614                     /lib/x86_64-linux-gnu/libnsl-2.23.so
7ffff3a3d000-7ffff3a3f000 rw-p 00000000 00:00 0
7ffff3a3f000-7ffff3b17000 r-xp 00000000 fc:00 659845                     /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
7ffff3b17000-7ffff3d16000 ---p 000d8000 fc:00 659845                     /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
7ffff3d16000-7ffff3d17000 r--p 000d7000 fc:00 659845                     /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
7ffff3d17000-7ffff3d1f000 rw-p 000d8000 fc:00 659845                     /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
7ffff3d1f000-7ffff3d20000 rw-p 00000000 00:00 0
7ffff3d20000-7ffff3d41000 r-xp 00000000 fc:00 659939                     /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7ffff3d41000-7ffff3f40000 ---p 00021000 fc:00 659939                     /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7ffff3f40000-7ffff3f41000 r--p 00020000 fc:00 659939                     /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7ffff3f41000-7ffff3f42000 rw-p 00021000 fc:00 659939                     /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7ffff3f42000-7ffff3f61000 r-xp 00000000 fc:00 660030                     /lib/x86_64-linux-gnu/libselinux.so.1
7ffff3f61000-7ffff4160000 ---p 0001f000 fc:00 660030                     /lib/x86_64-linux-gnu/libselinux.so.1
7ffff4160000-7ffff4161000 r--p 0001e000 fc:00 660030                     /lib/x86_64-linux-gnu/libselinux.so.1
7ffff4161000-7ffff4162000 rw-p 0001f000 fc:00 660030                     /lib/x86_64-linux-gnu/libselinux.so.1
7ffff4162000-7ffff4164000 rw-p 00000000 00:00 0
7ffff4164000-7ffff4169000 r-xp 00000000 fc:00 4727412                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7ffff4169000-7ffff4368000 ---p 00005000 fc:00 4727412                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7ffff4368000-7ffff4369000 r--p 00004000 fc:00 4727412                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7ffff4369000-7ffff436a000 rw-p 00005000 fc:00 4727412                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7ffff436a000-7ffff436c000 r-xp 00000000 fc:00 4727401                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7ffff436c000-7ffff456c000 ---p 00002000 fc:00 4727401                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7ffff456c000-7ffff456d000 r--p 00002000 fc:00 4727401                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7ffff456d000-7ffff456e000 rw-p 00003000 fc:00 4727401                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7ffff456e000-7ffff4573000 r-xp 00000000 fc:00 4727496                    /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1
7ffff4573000-7ffff4772000 ---p 00005000 fc:00 4727496                    /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1
7ffff4772000-7ffff4773000 r--p 00004000 fc:00 4727496                    /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1
7ffff4773000-7ffff4774000 rw-p 00005000 fc:00 4727496                    /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1
7ffff4774000-7ffff47d6000 r-xp 00000000 fc:00 4728415                    /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.25
7ffff47d6000-7ffff49d6000 ---p 00062000 fc:00 4728415                    /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.25
7ffff49d6000-7ffff49d8000 r--p 00062000 fc:00 4728415                    /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.25
7ffff49d8000-7ffff49d9000 rw-p 00064000 fc:00 4728415                    /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.25
7ffff49d9000-7ffff49dd000 rw-p 00000000 00:00 0
7ffff49dd000-7ffff49e5000 r-xp 00000000 fc:00 660058                     /lib/x86_64-linux-gnu/libwrap.so.0.7.6
7ffff49e5000-7ffff4be4000 ---p 00008000 fc:00 660058                     /lib/x86_64-linux-gnu/libwrap.so.0.7.6
7ffff4be4000-7ffff4be5000 r--p 00007000 fc:00 660058                     /lib/x86_64-linux-gnu/libwrap.so.0.7.6
7ffff4be5000-7ffff4be6000 rw-p 00008000 fc:00 660058                     /lib/x86_64-linux-gnu/libwrap.so.0.7.6
7ffff4be6000-7ffff4be7000 rw-p 00000000 00:00 0
7ffff4be7000-7ffff4c00000 r-xp 00000000 fc:00 660063                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7ffff4c00000-7ffff4dff000 ---p 00019000 fc:00 660063                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7ffff4dff000-7ffff4e00000 r--p 00018000 fc:00 660063                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7ffff4e00000-7ffff4e01000 rw-p 00019000 fc:00 660063                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7ffff4e01000-7ffff4e26000 r-xp 00000000 fc:00 660044                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7ffff4e26000-7ffff5025000 ---p 00025000 fc:00 660044                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7ffff5025000-7ffff5029000 r--p 00024000 fc:00 660044                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7ffff5029000-7ffff502a000 rw-p 00028000 fc:00 660044                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7ffff502a000-7ffff5057000 r-xp 00000000 fc:00 659954                     /lib/x86_64-linux-gnu/libncursesw.so.5.9
7ffff5057000-7ffff5257000 ---p 0002d000 fc:00 659954                     /lib/x86_64-linux-gnu/libncursesw.so.5.9
7ffff5257000-7ffff5258000 r--p 0002d000 fc:00 659954                     /lib/x86_64-linux-gnu/libncursesw.so.5.9
7ffff5258000-7ffff5259000 rw-p 0002e000 fc:00 659954                     /lib/x86_64-linux-gnu/libncursesw.so.5.9
7ffff5259000-7ffff5373000 r-xp 00000000 fc:00 660033                     /lib/x86_64-linux-gnu/libslang.so.2.3.0
7ffff5373000-7ffff5573000 ---p 0011a000 fc:00 660033                     /lib/x86_64-linux-gnu/libslang.so.2.3.0
7ffff5573000-7ffff5577000 r--p 0011a000 fc:00 660033                     /lib/x86_64-linux-gnu/libslang.so.2.3.0
7ffff5577000-7ffff5590000 rw-p 0011e000 fc:00 660033                     /lib/x86_64-linux-gnu/libslang.so.2.3.0
7ffff5590000-7ffff55e5000 rw-p 00000000 00:00 0
7ffff55e5000-7ffff5606000 r-xp 00000000 fc:00 4728621                    /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7ffff5606000-7ffff5805000 ---p 00021000 fc:00 4728621                    /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7ffff5805000-7ffff5806000 r--p 00020000 fc:00 4728621                    /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7ffff5806000-7ffff5807000 rw-p 00021000 fc:00 4728621                    /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7ffff5807000-7ffff5851000 r-xp 00000000 fc:00 655616                     /lib/x86_64-linux-gnu/libdbus-1.so.3.14.6
7ffff5851000-7ffff5a51000 ---p 0004a000 fc:00 655616                     /lib/x86_64-linux-gnu/libdbus-1.so.3.14.6
7ffff5a51000-7ffff5a52000 r--p 0004a000 fc:00 655616                     /lib/x86_64-linux-gnu/libdbus-1.so.3.14.6
7ffff5a52000-7ffff5a53000 rw-p 0004b000 fc:00 655616                     /lib/x86_64-linux-gnu/libdbus-1.so.3.14.6
7ffff5a53000-7ffff5a5d000 r-xp 00000000 fc:00 659931                     /lib/x86_64-linux-gnu/libjson-c.so.2.0.0
7ffff5a5d000-7ffff5c5c000 ---p 0000a000 fc:00 659931                     /lib/x86_64-linux-gnu/libjson-c.so.2.0.0
7ffff5c5c000-7ffff5c5d000 r--p 00009000 fc:00 659931                     /lib/x86_64-linux-gnu/libjson-c.so.2.0.0
7ffff5c5d000-7ffff5c5e000 rw-p 0000a000 fc:00 659931                     /lib/x86_64-linux-gnu/libjson-c.so.2.0.0
7ffff5c5e000-7ffff5cd8000 r-xp 00000000 fc:00 4850915                    /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-8.0.so
7ffff5cd8000-7ffff5ed7000 ---p 0007a000 fc:00 4850915                    /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-8.0.so
7ffff5ed7000-7ffff5ed8000 r--p 00079000 fc:00 4850915                    /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-8.0.so
7ffff5ed8000-7ffff5ed9000 rw-p 0007a000 fc:00 4850915                    /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-8.0.so
7ffff5ed9000-7ffff5ee0000 r-xp 00000000 fc:00 659622                     /lib/x86_64-linux-gnu/librt-2.23.so
7ffff5ee0000-7ffff60df000 ---p 00007000 fc:00 659622                     /lib/x86_64-linux-gnu/librt-2.23.so
7ffff60df000-7ffff60e0000 r--p 00006000 fc:00 659622                     /lib/x86_64-linux-gnu/librt-2.23.so
7ffff60e0000-7ffff60e1000 rw-p 00007000 fc:00 659622                     /lib/x86_64-linux-gnu/librt-2.23.so
7ffff60e1000-7ffff60f9000 r-xp 00000000 fc:00 659626                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7ffff60f9000-7ffff62f8000 ---p 00018000 fc:00 659626                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7ffff62f8000-7ffff62f9000 r--p 00017000 fc:00 659626                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7ffff62f9000-7ffff62fa000 rw-p 00018000 fc:00 659626                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7ffff62fa000-7ffff62fe000 rw-p 00000000 00:00 0
7ffff62fe000-7ffff63c5000 r-xp 00000000 fc:00 4727564                    /usr/lib/x86_64-linux-gnu/libcaca.so.0.99.19
7ffff63c5000-7ffff65c4000 ---p 000c7000 fc:00 4727564                    /usr/lib/x86_64-linux-gnu/libcaca.so.0.99.19
7ffff65c4000-7ffff65c5000 r--p 000c6000 fc:00 4727564                    /usr/lib/x86_64-linux-gnu/libcaca.so.0.99.19
7ffff65c5000-7ffff65c6000 rw-p 000c7000 fc:00 4727564                    /usr/lib/x86_64-linux-gnu/libcaca.so.0.99.19
7ffff65c6000-7ffff65c7000 rw-p 00000000 00:00 0
7ffff65c7000-7ffff65d8000 r-xp 00000000 fc:00 4727414                    /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7ffff65d8000-7ffff67d7000 ---p 00011000 fc:00 4727414                    /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7ffff67d7000-7ffff67d8000 r--p 00010000 fc:00 4727414                    /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7ffff67d8000-7ffff67d9000 rw-p 00011000 fc:00 4727414                    /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7ffff67d9000-7ffff690e000 r-xp 00000000 fc:00 4727397                    /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7ffff690e000-7ffff6b0e000 ---p 00135000 fc:00 4727397                    /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7ffff6b0e000-7ffff6b0f000 r--p 00135000 fc:00 4727397                    /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7ffff6b0f000-7ffff6b13000 rw-p 00136000 fc:00 4727397                    /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7ffff6b13000-7ffff6b61000 r-xp 00000000 fc:00 4719372                    /usr/lib/x86_64-linux-gnu/libpulse.so.0.19.0
7ffff6b61000-7ffff6d61000 ---p 0004e000 fc:00 4719372                    /usr/lib/x86_64-linux-gnu/libpulse.so.0.19.0
7ffff6d61000-7ffff6d62000 r--p 0004e000 fc:00 4719372                    /usr/lib/x86_64-linux-gnu/libpulse.so.0.19.0
7ffff6d62000-7ffff6d63000 rw-p 0004f000 fc:00 4719372                    /usr/lib/x86_64-linux-gnu/libpulse.so.0.19.0
7ffff6d63000-7ffff6d66000 r-xp 00000000 fc:00 4722104                    /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0.1.0
7ffff6d66000-7ffff6f66000 ---p 00003000 fc:00 4722104                    /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0.1.0
7ffff6f66000-7ffff6f67000 r--p 00003000 fc:00 4722104                    /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0.1.0
7ffff6f67000-7ffff6f68000 rw-p 00004000 fc:00 4722104                    /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0.1.0
7ffff6f68000-7ffff6f6b000 r-xp 00000000 fc:00 659611                     /lib/x86_64-linux-gnu/libdl-2.23.so
7ffff6f6b000-7ffff716a000 ---p 00003000 fc:00 659611                     /lib/x86_64-linux-gnu/libdl-2.23.so
7ffff716a000-7ffff716b000 r--p 00002000 fc:00 659611                     /lib/x86_64-linux-gnu/libdl-2.23.so
7ffff716b000-7ffff716c000 rw-p 00003000 fc:00 659611                     /lib/x86_64-linux-gnu/libdl-2.23.so
7ffff716c000-7ffff7265000 r-xp 00000000 fc:00 4727484                    /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0
7ffff7265000-7ffff7464000 ---p 000f9000 fc:00 4727484                    /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0
7ffff7464000-7ffff746b000 r--p 000f8000 fc:00 4727484                    /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0
7ffff746b000-7ffff746c000 rw-p 000ff000 fc:00 4727484                    /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0
7ffff746c000-7ffff762b000 r-xp 00000000 fc:00 659615                     /lib/x86_64-linux-gnu/libc-2.23.so
7ffff762b000-7ffff782b000 ---p 001bf000 fc:00 659615                     /lib/x86_64-linux-gnu/libc-2.23.so
7ffff782b000-7ffff782f000 r--p 001bf000 fc:00 659615                     /lib/x86_64-linux-gnu/libc-2.23.so
7ffff782f000-7ffff7831000 rw-p 001c3000 fc:00 659615                     /lib/x86_64-linux-gnu/libc-2.23.so
7ffff7831000-7ffff7835000 rw-p 00000000 00:00 0
7ffff7835000-7ffff793d000 r-xp 00000000 fc:00 659613                     /lib/x86_64-linux-gnu/libm-2.23.so
7ffff793d000-7ffff7b3c000 ---p 00108000 fc:00 659613                     /lib/x86_64-linux-gnu/libm-2.23.so
7ffff7b3c000-7ffff7b3d000 r--p 00107000 fc:00 659613                     /lib/x86_64-linux-gnu/libm-2.23.so
7ffff7b3d000-7ffff7b3e000 rw-p 00108000 fc:00 659613                     /lib/x86_64-linux-gnu/libm-2.23.so
7ffff7b3e000-7ffff7ba7000 r-xp 00000000 fc:00 4725289                    /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0.11.4
7ffff7ba7000-7ffff7da7000 ---p 00069000 fc:00 4725289                    /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0.11.4
7ffff7da7000-7ffff7da8000 r--p 00069000 fc:00 4725289                    /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0.11.4
7ffff7da8000-7ffff7da9000 rw-p 0006a000 fc:00 4725289                    /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0.11.4
7ffff7da9000-7ffff7dd7000 rw-p 00000000 00:00 0
7ffff7dd7000-7ffff7dfd000 r-xp 00000000 fc:00 659616                     /lib/x86_64-linux-gnu/ld-2.23.so
7ffff7e31000-7ffff7ea5000 rw-p 00000000 00:00 0
7ffff7f3c000-7ffff7f47000 rw-p 00000000 00:00 0
7ffff7f47000-7ffff7fc7000 r-xp 00000000 fc:00 655390                     /lib/x86_64-linux-gnu/libsystemd.so.0.14.0
7ffff7fc7000-7ffff7fca000 r--p 0007f000 fc:00 655390                     /lib/x86_64-linux-gnu/libsystemd.so.0.14.0
7ffff7fca000-7ffff7fcb000 rw-p 00082000 fc:00 655390                     /lib/x86_64-linux-gnu/libsystemd.so.0.14.0
7ffff7fcb000-7ffff7fd3000 rw-p 00000000 00:00 0
7ffff7fee000-7ffff7fef000 rw-p 00000000 00:00 0
7ffff7fef000-7ffff7ff6000 r--s 00000000 fc:00 4856480                    /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
7ffff7ff6000-7ffff7ff8000 rw-p 00000000 00:00 0
7ffff7ff8000-7ffff7ffa000 r--p 00000000 00:00 0                          [vvar]
7ffff7ffa000-7ffff7ffc000 r-xp 00000000 00:00 0                          [vdso]
7ffff7ffc000-7ffff7ffd000 r--p 00025000 fc:00 659616                     /lib/x86_64-linux-gnu/ld-2.23.so
7ffff7ffd000-7ffff7ffe000 rw-p 00026000 fc:00 659616                     /lib/x86_64-linux-gnu/ld-2.23.so
7ffff7ffe000-7ffff7fff000 rw-p 00000000 00:00 0
7ffffffde000-7ffffffff000 rw-p 00000000 00:00 0                          [stack]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

Thread 1 "vspcplay" received signal SIGABRT, Aborted.
0x00007ffff74a1428 in __GI_raise (sig=sig@entry=6)
    at ../sysdeps/unix/sysv/linux/raise.c:54
54   ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007ffff74a1428 in __GI_raise (sig=sig@entry=6)
    at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007ffff74a302a in __GI_abort () at abort.c:89
#2  0x00007ffff74e37ea in __libc_message (do_abort=do_abort@entry=2,
    fmt=fmt@entry=0x7ffff75fa8a2 "*** %s ***: %s terminated\n")
    at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff758456c in __GI___fortify_fail (msg=<optimized out>,
    msg@entry=0x7ffff75fa833 "buffer overflow detected") at fortify_fail.c:37
#4  0x00007ffff7582570 in __GI___chk_fail () at chk_fail.c:28
#5  0x00007ffff7581ad9 in _IO_str_chk_overflow (fp=<optimized out>,
    c=<optimized out>) at vsprintf_chk.c:31
#6  0x00007ffff74e76b0 in __GI__IO_default_xsputn (f=0x7fffffffdab0,
    data=<optimized out>, n=50) at genops.c:455
#7  0x00007ffff74b9241 in _IO_vfprintf_internal (s=s@entry=0x7fffffffdab0,
    format=format@entry=0x41e760 " QUIT - PAUSE - RESTART - PREV - NEXT - WRITE MASK", ap=ap@entry=0x7fffffffdbe8) at vfprintf.c:1320
#8  0x00007ffff7581b64 in ___vsprintf_chk (
    s=0x7fffffffddb0 " QUIT - PAUSE - RESTART - PRE\177", flags=1, slen=30,
    format=0x41e760 " QUIT - PAUSE - RESTART - PREV - NEXT - WRITE MASK",
    args=args@entry=0x7fffffffdbe8) at vsprintf_chk.c:82
#9  0x00007ffff7581abd in ___sprintf_chk (s=<optimized out>,
    flags=<optimized out>, slen=<optimized out>, format=<optimized out>)
    at sprintf_chk.c:31
#10 0x0000000000402d05 in main ()


What else should I try before I seek support from the developer?


Top
 Profile  
 
PostPosted: Mon Apr 10, 2017 1:00 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6510
Location: Seattle
I successfully built vspcplay 1.3 for x86-64 in 2014.

I assume that gcc Halpfully broke some edge case.


Top
 Profile  
 
PostPosted: Mon Apr 10, 2017 1:04 pm 
Online

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19335
Location: NE Indiana, USA (NTSC)
Perhaps GCC has become stricter since the addition of more complete support for C++11 and its successors.
Code:
$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Top
 Profile  
 
PostPosted: Mon Apr 10, 2017 1:06 pm 
Offline

Joined: Sat Apr 25, 2015 1:47 pm
Posts: 336
Location: FL
main.c, line 652:

Code:
sprintf(tmpbuf, " QUIT - PAUSE - RESTART - PREV - NEXT - WRITE MASK");


sprintf is attempting to copy 50 characters into a 30-byte buffer. This is the cause of the "call to __builtin___sprintf_chk will always overflow destination buffer" warning, and that string constant is also visible in the stack trace you posted.

There's a similar warning ("might overflow destination buffer") about a call to strncat on line 315 of main.c; it appears someone thought the third argument was supposed to be the total size of the destination buffer, not the length of the source string. I don't know if this will cause any problems in practice.

libspc.cpp also emits several warnings about writing to the 34th byte of a 33-byte buffer, and so on.


Top
 Profile  
 
PostPosted: Mon Apr 10, 2017 6:21 pm 
Offline
Formerly ~J-@D!~
User avatar

Joined: Sun Mar 12, 2006 12:36 am
Posts: 445
Location: Rive nord de Montréal
<rant>
See, this is specifically what I hate about C. Nothing ever return allocated memory for you; you must allocate memory first, try to fit the string with snprintf; then adjust if it didn't fit by looking at the return value, then recall snprintf. Using any kind of fixed buffer is a really bad idea, except if you can assure that you'll never need more bytes (can happen for trivial things, practically never happens for general message formatting needs). asprintf is nice, because it allocates storage for you, and is simple to use, but it's non-standard. C++ does things right when it comes to allocation, but then anything that involves formatting is overly verbose. C++ needs something like this.
</rant>


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: Tomy and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group