Most probably pinned bug 2472726. I finally have been able to reproduce it with the help of valgrind, which changed the memory management. After a resync, the frame buffers get (re)allocated, in case of the decwin, that's a free() of the old and immediately malloc() of the new. With normal glibc memory management that resulted in the same block of memory than before being assigned (when the size did not change). Thus, the failure to call make_decode_tables on the new memory ws hidden because the old values were still there.
Most probably pinned bug 2472726.
I finally have been able to reproduce it with the help of valgrind, which changed the memory management.
After a resync, the frame buffers get (re)allocated, in case of the decwin, that's a free() of the old and immediately malloc() of the new.
With normal glibc memory management that resulted in the same block of memory than before being assigned (when the size did not change).
Thus, the failure to call make_decode_tables on the new memory ws hidden because the old values were still there.

So, the easy fix is to call make_decode_tables everytime after changing the frame buffers. Waiting for confirmation from the Windows folks...


git-svn-id: 793bb72743a407948e3701719c462b6a765bc435@1815 35dc7657-300d-0410-a2e5-dc2837fedb53

Distrotech/mpg123,Distrotech/mpg123,Distrotech/mpg123,Distrotech/mpg123,Distrotech/mpg123,Distrotech/mpg123,Distrotech/mpg123