ReinhardPrix / FreedroidClassic

The original Freedroid, a free & open-source clone of the C64 classic 'Paradroid'.
GNU General Public License v2.0
35 stars 5 forks source link

crashes on negative scaling factor ( -r -0.1) #24

Closed matthiaskrgr closed 5 years ago

matthiaskrgr commented 6 years ago

I can pass negative scaling ratios via cmdline

UBSAN_OPTIONS=print_stacktrace=1 ./freedroid  -r -0.01                                                                                        ✘ 255
found environment HOME = '/home/matthias'
Successfully opened config-file '/home/matthias/.freedroidClassic/config' for reading
init.c:900:3: runtime error: -6.4 is outside the range of representable values of type 'unsigned short'
    #0 0x37a559 in InitFreedroid /tmp/FreedroidClassic/src/init.c:900:3
    #1 0x38d551 in main /tmp/FreedroidClassic/src/main.c:75:3
    #2 0x7f8387506222 in __libc_start_main (/usr/lib/libc.so.6+0x24222)
    #3 0x27002d in _start (/tmp/FreedroidClassic/src/freedroid+0x27002d)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior init.c:900:3 in
init.c:900:3: runtime error: -4.8 is outside the range of representable values of type 'unsigned short'
    #0 0x37a576 in InitFreedroid /tmp/FreedroidClassic/src/init.c:900:3
    #1 0x38d551 in main /tmp/FreedroidClassic/src/main.c:75:3
    #2 0x7f8387506222 in __libc_start_main (/usr/lib/libc.so.6+0x24222)
    #3 0x27002d in _start (/tmp/FreedroidClassic/src/freedroid+0x27002d)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior init.c:900:3 in
Video info summary from SDL:
----------------------------------------------------------------------
Is it possible to create hardware surfaces: no
Is there a window manager available: yes
Are hardware to hardware blits accelerated: no
Are hardware to hardware colorkey blits accelerated: no
Are hardware to hardware alpha blits accelerated: no
Are software to hardware blits accelerated: no
Are software to hardware colorkey blits accelerated: no
Are software to hardware alpha blits accelerated: no
Are color fills accelerated: no
Total amount of video memory in Kilobytes: 0
Pixel format of the video device: bpp = 32, bytes/pixel = 4
Video Driver Name: x11
----------------------------------------------------------------------
==14871==WARNING: AddressSanitizer failed to allocate 0xffffffffffe40060 bytes
==14871==AddressSanitizer's allocator is terminating the process instead of returning 0
==14871==If you don't like this behavior set allocator_may_return_null=1
==14871==AddressSanitizer CHECK failed: /home/matthias/LLVM/LLVM6/stage_2/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc:225 "((0)) != (0)" (0x0, 0x0)
    #0 0x31ac26 in __asan::AsanCheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) /home/matthias/LLVM/LLVM6/stage_2/llvm/projects/compiler-rt/lib/asan/asan_rtl.cc:69:3
    #1 0x33158f in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) /home/matthias/LLVM/LLVM6/stage_2/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_termination.cc:79:5
    #2 0x31ecc3 in __sanitizer::ReportAllocatorCannotReturnNull() /home/matthias/LLVM/LLVM6/stage_2/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc:225:3
    #3 0x31ed01 in __sanitizer::ReturnNullOrDieOnFailure::OnBadRequest() /home/matthias/LLVM/LLVM6/stage_2/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc:241:3
    #4 0x271259 in __asan::asan_malloc(unsigned long, __sanitizer::BufferedStackTrace*) /home/matthias/LLVM/LLVM6/stage_2/llvm/projects/compiler-rt/lib/asan/asan_allocator.cc:856:34
    #5 0x313141 in __interceptor_malloc /home/matthias/LLVM/LLVM6/stage_2/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:89:10
    #6 0x7f83878afc38  (/usr/lib/libSDL-1.2.so.0+0x38c38)
    #7 0x7f83878afffa  (/usr/lib/libSDL-1.2.so.0+0x38ffa)
    #8 0x7f83878b4dc3  (/usr/lib/libSDL-1.2.so.0+0x3ddc3)
    #9 0x7f83878a380c in SDL_SetVideoMode (/usr/lib/libSDL-1.2.so.0+0x2c80c)
    #10 0x360028 in Init_Video /tmp/FreedroidClassic/src/graphics.c:972:21
    #11 0x379e90 in InitFreedroid /tmp/FreedroidClassic/src/init.c:901:3
    #12 0x38d551 in main /tmp/FreedroidClassic/src/main.c:75:3
    #13 0x7f8387506222 in __libc_start_main (/usr/lib/libc.so.6+0x24222)
    #14 0x27002d in _start (/tmp/FreedroidClassic/src/freedroid+0x27002d)
ReinhardPrix commented 5 years ago

thanks. ... wow, that was bad, this actually froze my whole window-manager when I tried it :p