Menu

#515 Crashes on 32-bit Windows with scale factor 3 and SDL renderer

Next_release
closed-fixed
7
2014-02-17
2014-01-29
No

On 32-bit Windows, I can trigger "Randam's issue" as follows (and I verified that with his settings.xml):
<Quibus> 1) fresh install (i.e. no settings.xml)
<Quibus> 2) set renderer SDLGL-PP
<Quibus> 3) set scale_factor 4
<Quibus> 4) set renderer SDL
<Quibus> from now on: crashes at start up and if not at start-up, just use a lot of reverse and forward (page-up/down)

The combination SDL and scale_factor 4 is apparently causing weird behaviour on 32-bit Windows and can be created with the scenario above in the settings.xml file.

EDIT:
An even simpler scenario:
1) fresh install
2) set scale_factor 3
3) crashes will happen when reversing or starting up (and probably more scenarios).

Note that the crash does not necessarily occur when some PP settings like noise and blur have non-default values, hence step 1. (For instance: scale_algorithm should be simple, blur should be non-zero (50 is default)).

Not tried yet on Linux, but I don't have 32-bit Linux.
Probably won't trigger there, as it does not trigger on MiNGW (32-bit build!). Wouter heavily suspects an alignment issue.

Discussion

  • Manuel Bilderbeek

    Bisected... it was introduced after 7300aef3a7804612a7e027e16b7d04a542bfb965 (last one I have that works). First build I have that has the issue is of 1987b5fb5a3376cff69d2de1a4dd89bc42ce7e04.

    I suspect it got introduced in one of these 3 commits:
    commit 66f68df05acfc3de02d0eb7f18eb97fca613f571
    Author: wouter vermaelen.wouter@gmail.com
    Date: Tue Jun 4 16:00:20 2013 +0200

    Replace bswap16 asm routine with c++
    
    The new c++ version is just as fast as the asm version (at least with gcc
    and clang). But this routine is anyway not performance critical.
    

    commit b46ec22c3111ea607a91c0702d6b537eda1fa174
    Author: wouter vermaelen.wouter@gmail.com
    Date: Tue Jun 4 15:05:47 2013 +0200

    Removed HostCPU
    
    The previous patch removed the last user of the HostCPU functionality. This
    patch removes the HostCPU functions themselves. It also removes the '-nommx'
    '-nosse' and '-nosse2' debug command line options.
    

    commit 8b073c80c4187f150298f2aafb959c64a41ae30c
    Author: wouter vermaelen.wouter@gmail.com
    Date: Tue Jun 4 14:54:08 2013 +0200

    Convert Simple3xScaler asm routines to intrinsics
    
    Old routine used MMX, new routine uses SSE2. But like in the previous few
    patches, there's no significant performace difference between the two varian
    There is a measurbale difference compared to the C++ version.
    
    This removes the last visual studio asm files.
    
     
  • Manuel Bilderbeek

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -3,8 +3,7 @@
     <Quibus> 2) set renderer SDLGL-PP
     <Quibus> 3) set scale_factor 4
     <Quibus> 4) set renderer SDL
    -<Quibus> from now on: crashes
    -<Quibus> at start up and whatnot
    +<Quibus> from now on: crashes at start up and if not at start-up, just use a lot of reverse and forward (page-up/down)
    
     The combination SDL and scale_factor 4 is apparently causing weird behaviour on 32-bit Windows and can be created with the scenario above in the settings.xml file.
    
     
  • Manuel Bilderbeek

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -7,6 +7,15 @@
    
     The combination SDL and scale_factor 4 is apparently causing weird behaviour on 32-bit Windows and can be created with the scenario above in the settings.xml file.
    
    +EDIT:
    +An even simpler scenario:
    +1) fresh install
    +2) set scale_factor 3
    +3) crashes will happen when reversing or starting up (and probably more scenarios).
    +
    +
     Note that the crash does not necessarily occur when some PP settings like noise and blur have non-default values, hence step 1.
    
    -Not tried yet on Linux, but I dn't have 32-bit Linux.
    +Not tried yet on Linux, but I don't have 32-bit Linux.
    +Probably won't trigger there, as it does not trigger on MiNGW (32-bit build!). Wouter heavily suspects an alignment issue.
    +
    
     
  • Manuel Bilderbeek

    • summary: Crashes on 32-bit Windows with scale factor 4 and SDL renderer --> Crashes on 32-bit Windows with scale factor 3 and SDL renderer
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -14,7 +14,7 @@
     3) crashes will happen when reversing or starting up (and probably more scenarios).
    
    -Note that the crash does not necessarily occur when some PP settings like noise and blur have non-default values, hence step 1.
    +Note that the crash does not necessarily occur when some PP settings like noise and blur have non-default values, hence step 1. (For instance: scale_algorithm should be simple, blur should be non-zero (50 is default)).
    
     Not tried yet on Linux, but I don't have 32-bit Linux.
     Probably won't trigger there, as it does not trigger on MiNGW (32-bit build!). Wouter heavily suspects an alignment issue.
    
     
  • Manuel Bilderbeek

    • status: open --> closed-fixed
    • assigned_to: Wouter Vermaelen
     
  • Manuel Bilderbeek

    Fixed by Wouter in 4e5b2c5577c6bcbd3f288879c734e052b92cc040 Thanks!