On 3/14/18, Antonio Scuri <antonio.sc...@gmail.com> wrote:
>   Tested on the following configurations:
>
> CentOS 6.8 (x86) Linux26g4c6 (GTK 2.24)
> Debian 8.3 (x86) Linux316 (GTK 3.14)
> Oracle Solaris 11 (x86) SunOS511x86 (GK 2.20)
> Ubuntu 10.10 (x86) Linux26g4 (GK 2.22)
> Ubuntu 12.04 (x86) Linux32 (GTK 2.24)
> Ubuntu 14.04 (x64) Linux313_64 (GTK 3.10)
> Ubuntu 15.04 (x64) Linux319_64 (GTK 3.14)
> Ubuntu 16.04 (x64) Linux44_64 (GK 3.18)
>
>   I run the test around 50 times. I added a small callback so I can do it
> using only the keyboard.
>
>   Using the IUP from SVN.
>
>   The result was the same, every time...
>
> Best,
> Scuri
>
> BTW: the SHRINK attribute you used along the code is a IupDialog attribute.
> Other controls simply ignore it. Although I didn't change that code for the
> tests.
>

This is a very frustrating bug because sometimes I go very long times
(days) without seeing it, and other times it always comes up. For the
video recording, I probably had to run it 30+ times (and I edited out
the other runs). It seems that whenever I want to see it, it never
comes, but when I need it to work without problems (like a production
app), it doesn't and I get long streaks of broken runs. Murphy's Law.

I've seen it on the following using the standard packages that come
with each OS:
Ubuntu 12.04 LTS (x64), both GTK2 and GTK3
Ubuntu 14.04 (x64) (only tried GTK2)
Ubuntu 16.04 (x64) (only tried GTK2)
Ubuntu 16.10 (x64) (both GTK2, GTK3)
Debian Jessie (x64) (GTK2)
Debian Stretch (x64) (GTK2)
SteamOS (x64) (GTK2)
Arch this past month (x64) (only GTK2)
Raspbian Jessie (armv7) (both GTK2, GTK3)
Raspbian Stretch (armv7) (both GTK2, GTK3)

I think I also got a report of the issue on Fedora Core x64 GTK2, but
I don't have the specifics of which version.


I originally was using the standard IUP SVN, tested the most on Ubuntu
12.04 and Raspbian Jessie. And I first reported this bug 2 years ago,
and I've seen it over the entire duration of time. So I am almost
certain this bug is in there. However, in recent days, I've been using
a branch I made (called "Linux") from my IupCocoa repo. The branch
doesn't actually contain the Cocoa stuff, but does include the CMake
build system we've developed for all the platforms because I found the
Makefile difficult to get going and use with IDEs. The branch also
contains the event loop modification I described in the Lua Workshop
video, but I did not activate it for the test runs and video
recording, and I originally encountered this bug before I implemented
that change.


Anecdotally, I feel like I've seen the bug the most on Raspberry Pi
(Raspbian). I don't know if it is scientifically true, but it feels
like it. If it is true, I wonder if the slower speed of the Pi makes
it more vulnerable since it feels like some kind of race condition
bug.




But if you want to try my branch, you can find it here. (Make sure to
switch to the Linux branch.) But as I said, I don't believe my branch
is affecting things since I did see it originally with the official
SVN. I resync'd my branch with the SVN like a week and a half ago.
https://github.com/ewmailing/IupCocoa/tree/Linux

mkdir -p /path/to/some/build/dir
cd /path/to/some/build/dir
ccmake -DCMAKE_BUILD_TYPE=Debug -DIUP_BUILD_TESTS=1 -D /path/to/iup/root
make

There are menu options like for building tests (off by default which
is the reason for the switch) which is off by default. I turn it on,
and then hijack one of the tests (like button.c) to run the test code
I submitted here. It attempts to auto-detect for GTK2 or GTK3, picking
GTK2 first. Menu options can set to change that. (You can use ccmake
or cmake-gui to bring up the menu.)

Valid options for build type are Debug, MinSizeRel, Release,
RelWithDebInfo. I usually use Debug and MinSizeRel, but I have seen
this bug with all of them.

The video recording was on Ubuntu 16.10 (x64) using GTK2. I built that
using Debug settings. However, I originally encountered this bug with
Release or MinSizeRel settings in a production app, so anecdotally, I
wonder if the optimized variant is more easily able to hit the race
condition.


Anyway, I implore you to keep trying. I know the bug is there. Maybe
building Release, trying a slower machine, or running a large and
heavy background process to slow down the machine and eat resources
could help trigger it.

Thanks,
Eric

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users

Reply via email to