enthought / enthought/traitsui

PySide6 test_wrap_text_basic can segfault on windows

Open
#2,017 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
306
Forks
99
PR merge metrics
No merged PRs in 30d

Description

Running the PySide6 test on windows sometimes segfaults when the `~/AppData/Local/Microsoft/Windows/Explorer` folder is not already populated.

The script bellow will probably segfault once every 5 times.

```python
import os
import sys
import subprocess
from pathlib import Path

HERE = Path(__file__).parent
app_data = HERE / 'AppData'
if app_data.exists():
shutil.rmtree(app_data)

env = os.environ.copy()
env['USERPROFILE'] = str(HERE)
env['HOME'] = str(HERE)
env["ETS_TOOLKIT"] = "qt"
env["QT_API"] = "pyside6"
env["EXCLUDE_TESTS"] = "wx"

cmd = [sys.executable, "-X", "faulthandler", "-m", "unittest", "discover", "traitsui"],
subprocess.run(cmd, env=env)
```

The segfault is
```
test_qobject_is_valid (traitsui.qt4.tests.test_helper.TestWrapText) ... ok
test_wrap_text_basic (traitsui.qt4.tests.test_helper.TestWrapText) ... QGuiApplication::font(): no QGuiApplication instance and no application font set.
QFont::setPointSize: Point size <= 0 (-1), must be greater than 0
QGuiApplication::font(): no QGuiApplication instance and no application font set.
Windows fatal exception: access violation

Current thread 0x00002468 (most recent call first):
File "c:\Users\template\.edm\envs\build-env\lib\site-packages\traitsui\qt4\tests\test_helper.py", line 50 in test_wrap_text_basic
File "c:\Users\template\.edm\envs\build-env\lib\unittest\case.py", line 633 in _callTestMethod
File "c:\Users\template\.edm\envs\build-env\lib\unittest\case.py", line 676 in run
File "c:\Users\template\.edm\envs\build-env\lib\unittest\case.py", line 736 in __call__
File "c:\Users\template\.edm\envs\build-env\lib\unittest\suite.py", line 122 in run
File "c:\Users\template\.edm\envs\build-env\lib\unittest\suite.py", line 84 in __call__
File "c:\Users\template\.edm\envs\build-env\lib\unittest\suite.py", line 122 in run
File "c:\Users\template\.edm\envs\build-env\lib\unittest\suite.py", line 84 in __call__
File "c:\Users\template\.edm\envs\build-env\lib\unittest\suite.py", line 122 in run
File "c:\Users\template\.edm\envs\build-env\lib\unittest\suite.py", line 84 in __call__
File "c:\Users\template\.edm\envs\build-env\lib\unittest\suite.py", line 122 in run
File "c:\Users\template\.edm\envs\build-env\lib\unittest\suite.py", line 84 in __call__
File "c:\Users\template\.edm\envs\build-env\lib\unittest\runner.py", line 176 in run
File "c:\Users\template\.edm\envs\build-env\lib\unittest\main.py", line 271 in runTests
File "c:\Users\template\.edm\envs\build-env\lib\unittest\main.py", line 101 in __init__
File "c:\Users\template\.edm\envs\build-env\lib\unittest\__main__.py", line 18 in
File "c:\Users\template\.edm\envs\build-env\lib\runpy.py", line 87 in _run_code
File "c:\Users\template\.edm\envs\build-env\lib\runpy.py", line 194 in _run_module_as_main
FAIL
```

Environment:
- EDM cp38 Windows 10 64bit
- PySide6 6.2.3-7
- traitsui 7.4.3

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.