Menu

#975 x128 -80col unsupported render mode

v3.1
closed-fixed
nobody
SDL2x
2018-10-12
2018-02-01
No

starting x128 -default -80col crashes, see attached file "x128.log".
starting x128 -default works, switching to VDC 80 columns works in the menu, but then crashes on hard reset, see attached file "x128-2.log" in the next message.

1 Attachments

Discussion

  • Anonymous

    Anonymous - 2018-02-01

    crashes after hard reset in 80 columns mode

     
  • Anonymous

    Anonymous - 2018-02-02

    A better backtrace actually with debugging symbols:

    Program terminated with signal SIGSEGV, Segmentation fault.
    #0  0x00000000006476eb in video_canvas_refresh (canvas=0x47a5530, xs=0, ys=21, xi=0, yi=0, w=856, h=576)
        at ../../../../src/arch/sdl/video.c:1229
    1229            video_canvas_render(canvas, (uint8_t *)canvas->screen->pixels, w, h, xs, ys, xi, yi, canvas->screen->pitch, canvas->screen->format->BitsPerPixel);
    [Current thread is 1 (Thread 0x7fbacf066900 (LWP 16087))]
    (gdb) bt
    #0  0x00000000006476eb in video_canvas_refresh (canvas=0x47a5530, xs=0, ys=21, xi=0, yi=0, w=856, h=576)
        at ../../../../src/arch/sdl/video.c:1229
    #1  0x0000000000626e18 in video_canvas_refresh_all (canvas=0x47a5530) at ../../../src/video/video-canvas.c:127
    #2  0x00000000006407ff in ui_handle_misc_sdl_event (e=...) at ../../../../src/arch/sdl/ui.c:94
    #3  0x0000000000640a22 in ui_dispatch_events () at ../../../../src/arch/sdl/ui.c:480
    #4  0x0000000000648666 in vsyncarch_presync () at ../../../../src/arch/sdl/vsyncarch.c:94
    #5  0x000000000042c9a1 in vsync_do_vsync (c=0x47506b0, been_skipped=0) at ../../src/vsync.c:385
    #6  0x000000000060555e in vicii_raster_draw_alarm_handler (offset=0, data=0x0) at ../../../src/vicii/vicii.c:1253
    #7  0x00000000004365ea in alarm_context_dispatch (context=0x4314fd0, cpu_clk=19656)
        at ../../../src/c128/../alarm.h:145
    #8  0x00000000004369da in maincpu_mainloop () at ../../../src/c128/../6510core.c:1982
    #9  0x000000000041d0d0 in main_program (argc=2, argv=0x7ffe0cb30388) at ../../src/main.c:289
    #10 0x0000000000640761 in main (argc=2, argv=0x7ffe0cb30388) at ../../../../src/arch/sdl/sdlmain.c:40
    
     
  • Querino

    Querino - 2018-02-02

    switching video modes in the SDL1 version doesn't work properly either.
    the emu itself seens to run, but the screen stays blank (no output), even after a reset.

    but that would probably be a different issue.

     
  • Paul Hocker

    Paul Hocker - 2018-03-05

    I can confirm that this is happening for me as well.

    Windows 10 64bit

     
  • gpz

    gpz - 2018-05-19

    works for me on linux with SDL2 - please retest with a recent build

     
  • Anonymous

    Anonymous - 2018-05-22

    Still crashing with the tested revision 34904.

     
  • gpz

    gpz - 2018-05-22

    weird... can you make a backtrace?

     
  • compyx

    compyx - 2018-05-22

    Here's a backtrace of SDL2 on Linux, compiled from current trunk (r34905):

    Thread 1 "x128" received signal SIGSEGV, Segmentation fault.
    0x00005555557f224c in video_canvas_refresh (canvas=0x55555852b540, xs=0, 
        ys=21, xi=0, yi=<optimized out>, w=856, h=576)
        at ../../../../vice/src/arch/sdl/video.c:1234
    1234            video_canvas_render(canvas, (uint8_t *)canvas->screen->pixels, w, h, xs, ys, xi, yi, canvas->screen->pitch, canvas->screen->format->BitsPerPixel);
    (gdb) bt
    #0  0x00005555557f224c in video_canvas_refresh (canvas=0x55555852b540, xs=0, 
        ys=21, xi=0, yi=<optimized out>, w=856, h=576)
        at ../../../../vice/src/arch/sdl/video.c:1234
    #1  0x00005555557c6d6e in video_canvas_refresh_all (canvas=<optimized out>)
        at ../../../vice/src/video/video-canvas.c:127
    #2  0x00005555557ea3bf in ui_dispatch_events ()
        at ../../../../vice/src/arch/sdl/ui.c:503
    #3  0x00005555557f406d in vsyncarch_presync ()
        at ../../../../vice/src/arch/sdl/vsyncarch.c:95
    #4  0x00005555555e279b in vsync_do_vsync (c=<optimized out>, been_skipped=0)
        at ../../vice/src/vsync.c:384
    #5  0x00005555557a2006 in vicii_raster_draw_alarm_handler (
        offset=<optimized out>, data=<optimized out>)
        at ../../../vice/src/vicii/vicii.c:1250
    #6  0x00005555555eee60 in alarm_context_dispatch (cpu_clk=<optimized out>, 
        context=<optimized out>) at ../../../vice/src/c128/../alarm.h:145
    #7  maincpu_mainloop () at ../../../vice/src/c128/../6510core.c:1982
    #8  0x00005555555cf639 in main_program (argc=<optimized out>, 
        argv=<optimized out>) at ../../vice/src/main.c:289
    #9  0x00007ffff45e52e1 in __libc_start_main (main=0x5555555b41b0 <main>, 
        argc=3, argv=0x7fffffffe1c8, init=<optimized out>, fini=<optimized out>, 
        rtld_fini=<optimized out>, stack_end=0x7fffffffe1b8)
        at ../csu/libc-start.c:291
    #10 0x00005555555b41ea in _start ()
    

    Debian 9.3 (amd64) with nvidia binary driver (legacy), partial log ouput (SDLVideo messages):

    SDLVideo: Available Renderers: opengl opengles2 software 
    SDLVideo: Vendor     : NVIDIA Corporation
    SDLVideo: Renderer   : GeForce 7300 SE/7200 GS/PCIe/SSE2
    SDLVideo: Version    : OpenGL ES 2.0 NVIDIA 304.137 304.137
    SDLVideo: VDC (active) 856x576 32bpp using opengles2
    Main CPU: starting at ($FFFC).
    Main CPU: RESET.
    Drive 8: RESET.
    SDLVideo: Available Renderers: opengl opengles2 software 
    SDLVideo: Vendor     : NVIDIA Corporation
    SDLVideo: Renderer   : GeForce 7300 SE/7200 GS/PCIe/SSE2
    SDLVideo: Version    : OpenGL ES 2.0 NVIDIA 304.137 304.137
    SDLVideo: VDC (active) 856x576 32bpp using opengles2
    SDLVideo: Available Renderers: opengl opengles2 software 
    SDLVideo: Vendor     : NVIDIA Corporation
    SDLVideo: Renderer   : GeForce 7300 SE/7200 GS/PCIe/SSE2
    SDLVideo: Version    : OpenGL ES 2.0 NVIDIA 304.137 304.137
    SDLVideo: VICII (inactive) 768x544 32bpp using opengles2
    

    The segfault happens right after this is written to the log.

     
  • compyx

    compyx - 2018-05-22

    The same happens on my laptop with Debian 9.3 (amd64) with the open source radeon driver. Though this time x128 sometimes will pop up the VDC window (entirely black) and nothing gets rendered. I can't get a backtrace since I have to manually kill x128. Seems the culprit is the same: video_canvas_refresh(). Again I used the latest trunk.

     

    Last edit: compyx 2018-05-22
  • Michael Martin

    Michael Martin - 2018-09-24

    Does this still happen as of r35514? That revision seems to have fixed a very common rendering crash in x128 under SDL2.

     
  • Paul Hocker

    Paul Hocker - 2018-09-30

    Where can I get a release past r35514. The nightly build site seems stale and there is nothing in the experimental build folder that I can see? Thanks.

     
  • compyx

    compyx - 2018-09-30

    You'll have to build it yourself I'm afraid. Now, since you mention the nightlies, I assume you're using Windows. I can try to build an SDL2 Windows bindist, but since configure seems to partialy ignore the --no-arch flag, there's no guarantee the result bindist will actually work on your box, unless you have some CPU supporting the stuff my CPU (i5-7400) does.

     
  • Scott

    Scott - 2018-10-05

    Im running the SDL build, and the VDC is having a heck of a time. Example crash is when booting up VDC Mode Mania. Occasionally GEOS 128 will freeze or crash. Both on Linux and Windows. Desterm 2.0, when changing character sets (des.cbmcgset) v3.1 for Windows, and v3.2 for Linux SDL. Sorry, I dont have any log information. Ill try the nightly releases.

    Edit: disregard, ALL problems went away with current trunk branch, Thanks all

     

    Last edit: Scott 2018-10-05
  • compyx

    compyx - 2018-10-06

    So, can we close this now?

     
    • Michael Martin

      Michael Martin - 2018-10-12

      There are still a lot of issues with SDL2 rendering, but they're different problems, so I'll close this.

       
  • Michael Martin

    Michael Martin - 2018-10-12
    • status: open-need-info --> closed-fixed
     

Log in to post a comment.