Calligra office dumping core

Launching any of the Calligra suite programs fails.

Running calligrawords and other Calligra programs from terminal generates the following output:

Illegal instruction (core dumped)

dmesg shows the following:

   98.593544] do_trap: 495 callbacks suppressed
   98.593546] traps: calligrasheets[3195] trap invalid opcode ip:7f4eb161cd85 sp:7ffdea787e80 error:0 in libpigmentcms.so.14.0.0[7f4eb14e3000+162000]
  542.658478] traps: calligrasheets[7293] trap invalid opcode ip:7f4c9c763d85 sp:7fff507ad390 error:0 in libpigmentcms.so.14.0.0[7f4c9c62a000+162000]
 1605.487633] traps: calligrawords[16801] trap invalid opcode ip:7f3e3ade1d85 sp:7fffd11b6000 error:0 in libpigmentcms.so.14.0.0[7f3e3aca8000+162000]
 1798.455320] traps: calligrawords[18508] trap invalid opcode ip:7fb3e6034d85 sp:7ffe25b823d0 error:0 in libpigmentcms.so.14.0.0[7fb3e5efb000+162000]
 1911.851381] traps: calligrasheets[19539] trap invalid opcode ip:7f83e2d93d85 sp:7ffd5459c0c0 error:0 in libpigmentcms.so.14.0.0[7f83e2c5a000+162000]
 2045.740498] traps: calligrawords[20733] trap invalid opcode ip:7f04969b9d85 sp:7ffe6d758d70 error:0 in libpigmentcms.so.14.0.0[7f0496880000+162000]

Factory mailing list has a report here: https://lists.opensuse.org/opensuse-factory/2016-10/msg00545.html and by the looks of it, Tumbleweed snapshot 20161024 doesn’t resolve the problem.

Including the output of

zypper lr

:

#  | Alias                               | Name                                      | Enabled | GPG Check | Refresh
---+-------------------------------------+-------------------------------------------+---------+-----------+--------
 1 | Local_repository                    | Local repository                          | Yes     | ( p) Yes  | Yes
 2 | VLC                                 | VLC                                       | Yes     | (r ) Yes  | Yes
 3 | http-download.opensuse.org-a8201f97 | home:Bumblebee-Project:nVidia:latest-beta | Yes     | (r ) Yes  | Yes
 4 | http-download.opensuse.org-fc9f46f2 | openSUSE:Tumbleweed                       | Yes     | (r ) Yes  | Yes
 5 | http-ftp.gwdg.de-05ab8c07           | Packman Repository                        | Yes     | (r ) Yes  | Yes
 6 | repo-non-oss                        | openSUSE-Tumbleweed-Non-Oss               | Yes     | (r ) Yes  | Yes
 7 | repo-oss                            | openSUSE-Tumbleweed-Oss                   | Yes     | (r ) Yes  | Yes
 8 | repo-source                         | openSUSE-Tumbleweed-Source                | Yes     | (r ) Yes  | Yes
 9 | repo-update                         | openSUSE-Tumbleweed-Update                | Yes     | (r ) Yes  | Yes
10 | utilities                           | tmux powerline                            | Yes     | (r ) Yes  | No

Well, what version of calligra do you have installed, in particular what are the latest lines in the changelog?

rpm -q --changelog calligra|head

Did it work before?
Maybe the “fix” introduced the problem for you?

TBH, I find the whole problem rather strange, as everything worked fine until that thread and there haven’t been any changes to calligra since months…

Changelog:

* Sun Oct 23 2016 fabian@ritter-vogt.de
- Enable PACKAGERS_BUILD=ON to detect cpu capabilities during runtime


* Mon Sep 18 2016 schwab@suse.de
- narrowing-warning.patch: Fix compilation of PsCommentLexer.cpp on
  platforms where char is unsigned


* Mon May 30 2016 wbauer@tmo.at
- Re-enable building against Vc-devel-static, it builds fine again
- Remove some unnecessary part from the specfile

Calligra version is 2.9.11-7.1.

It didn’t work for me starting with Tumbleweed snapshot 20161020, the one that introduced 4.8 kernel. It was working prior to that build.

A fresh install of calligra e.a. on TW gives a core dump here too.

Well, so this problem somehow got introduced by the kernel upgrade I’d say.
And the “fix” to enable PACKAGERS_BUILD=ON is ineffective and unnecessary.
I somehow expected all the time that it won’t help, as it worked before as well.

FTR, calligra (still) works fine here on 13.2.

And here on Leap 42.1 all well too. Could this be related to Qt/Frameworks5 ?

No.
Calligra is still KDE4/Qt4 based.

If somebody still has a kernel 4.7 installed, it would probably be a good idea to boot that and see if calligra works then I suppose.
Would at least show if it is really related to the kernel update or something else…

Will have a look.
EDIT: Had a TW install around with kernel 4.7.4, same thing.

The lib is provided by both calligra and krita ( not calligrakrita ). Installed Krita, and the funny thing is, that it runs properly.

Krita is the KF5 based version.
And one difference is that it’s built without Vc support currently, because the only available Vc in openSUSE (even in Tumbleweed) is too old.
So it’s probably some breakage there, wouldn’t be the first time.

I’ll build calligra packages without Vc support, would be great if you can test them.
(will take a while though)

Would also explain why it doesn’t crash on 13.2 and Leap, because Vc is only enabled in Tumbleweed.

Please try to install the calligra packages from here:
http://download.opensuse.org/repositories/home:/wolfi323:/branches:/KDE:/Extra/openSUSE_Factory/

Could you elaborate on what “Vc” is?
I’ll test the packages from your repo.

Done so, and like you ( and hence me :smiley: ) expected, the calligra apps don’t segfault anymore.

Vc is a library with “portable, zero-overhead C++ types for explicitly data-parallel programming”.

Simply put it enables calligra to use SSE instructions to speed up certain things.
(I don’t know the details either, I have to admit…)

Apparently something goes wrong with the CPU type detection currently though, so it uses instructions not supported by your CPU (which causes the crash).
The strange thing is just that neither calligra nor Vc has been changed in any way in the last months…

I too can verify that these packages work. Thank you wolfi323.

My question now is: can we expect these changes to be pushed into the official TW release?

I can try to push them (not now though, as OBS is down currently), but it’s rather a workaround.

It would definitely be better to find the real reason for the problem and fix it…

Hi
My understanding is the cpu bmi1 flag? Do users who it doesn’t work for have this flag?


lscpu | grep bmi

I absolutely agree that correct course of action is fixing the underlying problem, but until that happens it’s better to have a working version in the official repo IMHO.

lscpu | grep bmi
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts

My cpu is i5 4690k.

Yeah, but that would disable it for all systems, even where it might work.

OTOH, I just noticed that Vc has been upgraded to 1.3.0 in the devel project today, as soon as this enters Tumbleweed we’d need to disable Vc for calligra anyway as the KDE4 version only supports Vc 0.7. So we probably might do it now already anyway, I’d say (that’s nothing that I will decide though).

Anyway, I do experience the crash in my Tumbleweed VM too, so I can do some more investigation myself.