Bug#966413: freecad: Draft Mirror and other draft tools do not work due to misuse of unicode strings

Łukasz Stelmach steelman at post.pl
Tue Jul 28 09:20:18 BST 2020


Package: freecad
Version: 0.18~pre1+dfsg1-5
Severity: normal

Dear Maintainer,

Steps to reproduce:

1. Run freecad from a console (xterm) to see error messages with the
following locale settings

--8<---------------cut here---------------start------------->8---
LANG=pl_PL.UTF-8
LANGUAGE=
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
LC_TIME="pl_PL.UTF-8"
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY="pl_PL.UTF-8"
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT="pl_PL.UTF-8"
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=
--8<---------------cut here---------------end--------------->8---

2. Select Draf workbench
3. Draw an arc.
4. Select the arc.
5. Select Draft Mirror tool.

Actual result:

The following error message appears on the console idicating problems
with a translated string containg unicode encoded Polish diacritic
character.

--8<---------------cut here---------------start------------->8---
Running the Python command 'Draft_Mirror' failed:
Traceback (most recent call last):
  File "/usr/share/freecad/Mod/Draft/DraftTools.py", line 5204, in Activated
    self.proceed()
  File "/usr/share/freecad/Mod/Draft/DraftTools.py", line 5209, in proceed
    self.ui.pointUi(self.name)
  File "/usr/share/freecad/Mod/Draft/DraftGui.py", line 998, in pointUi
    self.showCommandOptions(title)
  File "/usr/share/freecad/Mod/Draft/DraftGui.py", line 1230, in showCommandOptions
    cmdstr += v[0] + ":" + v[1]

'ascii' codec can't decode byte 0xc4 in position 5: ordinal not in range(128)
--8<---------------cut here---------------end--------------->8---

The tool does not work, the arc isn't mirrored.

Side effect:

After the exception it is impossible to quit freecad with the exit
command in the file menu and closing the window results in a
segmentation fault

--8<---------------cut here---------------start------------->8---
Program received signal SIGSEGV, Segmentation fault.
#0  /lib/x86_64-linux-gnu/libc.so.6(+0x37840) [0x7f7b9c8eb840]
#1  /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(+0xd39a4) [0x7f7b9f9679a4]
#2  /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(+0x17e5a6) [0x7f7b9fa125a6]
#3  /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(+0xdf183) [0x7f7b9f973183]
#4  /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyGC_Collect+0x3c) [0x7f7b9f9676cc]
#5  /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(Py_Finalize+0xef) [0x7f7b9f97d4ef]
#6  0x7f7b9fccfdf2 in Base::InterpreterSingleton::finalize() from /usr/lib/freecad-python2/lib/libFreeCADBase.so+0x12
#7  0x7f7ba0004f04 in App::Application::destruct() from /usr/lib/freecad-python2/lib/libFreeCADApp.so+0x1b4
#8  /usr/bin/freecad(main+0x75a) [0x55a01cc3088a]
#9  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7f7b9c8d809b]
#10  /usr/bin/freecad(_start+0x2a) [0x55a01cc30afa]
--8<---------------cut here---------------end--------------->8---

Expected result:

No error message, Draft Mirror tool works.

Workaround:

Run freecad with LC_ALL=C to disable Polish translation.

Comment
-- System Information:
Debian Release: 10.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-9-amd64 (SMP w/4 CPU cores)
Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8), LANGUAGE=pl_PL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages freecad depends on:
ii  freecad-python2  0.18~pre1+dfsg1-5

Versions of packages freecad recommends:
pn  calculix-ccx  <none>
pn  graphviz      <none>

Versions of packages freecad suggests:
pn  freecad-doc     <none>
ii  povray          1:3.7.0.8-1
ii  python-collada  0.4-3

-- no debconf information

-- 
Miłego dnia,
Łukasz Stelmach
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 617 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20200728/43c182a2/attachment.sig>


More information about the debian-science-maintainers mailing list