Bug 2158484 - Crash on a particular test case when compiled by clang 14 and/or 15
Summary: Crash on a particular test case when compiled by clang 14 and/or 15
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: seamonkey
Version: 37
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Dmitry Butskoy
QA Contact: Fedora Extras Quality Assurance
URL: https://retrace.fedoraproject.org/faf...
Whiteboard: abrt_hash:6a4ae5205145e27ff938d8777e0...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-01-05 15:12 UTC by Wolfgang Reh
Modified: 2023-04-09 01:41 UTC (History)
2 users (show)

Fixed In Version: seamonkey-2.53.15-1.fc37 seamonkey-2.53.16-1.fc37 seamonkey-2.53.16-1.fc36
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-04-04 01:33:35 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: backtrace (1.17 MB, text/plain)
2023-01-05 15:12 UTC, Wolfgang Reh
no flags Details
File: core_backtrace (277.34 KB, text/plain)
2023-01-05 15:12 UTC, Wolfgang Reh
no flags Details
File: cpuinfo (2.96 KB, text/plain)
2023-01-05 15:12 UTC, Wolfgang Reh
no flags Details
File: environ (1.88 KB, text/plain)
2023-01-05 15:12 UTC, Wolfgang Reh
no flags Details
File: limits (1.29 KB, text/plain)
2023-01-05 15:12 UTC, Wolfgang Reh
no flags Details
File: maps (3.93 KB, text/plain)
2023-01-05 15:12 UTC, Wolfgang Reh
no flags Details
File: mountinfo (3.75 KB, text/plain)
2023-01-05 15:12 UTC, Wolfgang Reh
no flags Details
File: open_fds (13.02 KB, text/plain)
2023-01-05 15:12 UTC, Wolfgang Reh
no flags Details
File: proc_pid_status (1.41 KB, text/plain)
2023-01-05 15:12 UTC, Wolfgang Reh
no flags Details
Saved Webpage (complete) as saved with Falkon (19.50 KB, application/gzip)
2023-01-10 20:32 UTC, Wolfgang Reh
no flags Details

Description Wolfgang Reh 2023-01-05 15:12:05 UTC
Description of problem:
I wanted to view the website of my network printer (Lexmark X544).

Version-Release number of selected component:
seamonkey-2.53.14-3.fc37

Additional info:
reporter:       libreport-2.17.4
backtrace_rating: 4
cgroup:         0::/user.slice/user-1000.slice/user/app.slice/app-seamonkey-faf85300af704ce6acb6e555ca13c2f3.scope
cmdline:        /usr/bin/seamonkey
crash_function: nsProfileLock::FatalSignalHandler
dso_list:       /usr/lib64/seamonkey/seamonkey seamonkey-2.53.14-3.fc37.x86_64 (Fedora Project) 1672920863
executable:     /usr/lib64/seamonkey/seamonkey
journald_cursor: s=538cbdda8b724e66ba6b578489ca4d83;i=154fe7;b=fc14a2d5005a4647a069befed734cc94;m=1d460dbc2;t=5f18539307a48;x=b72da5d29964c4f5
kernel:         6.0.16-300.fc37.x86_64
rootdir:        /
runlevel:       N 5
type:           CCpp
uid:            1000

Comment 1 Wolfgang Reh 2023-01-05 15:12:28 UTC
Created attachment 1935948 [details]
File: backtrace

Comment 2 Wolfgang Reh 2023-01-05 15:12:34 UTC
Created attachment 1935949 [details]
File: core_backtrace

Comment 3 Wolfgang Reh 2023-01-05 15:12:35 UTC
Created attachment 1935950 [details]
File: cpuinfo

Comment 4 Wolfgang Reh 2023-01-05 15:12:36 UTC
Created attachment 1935951 [details]
File: environ

Comment 5 Wolfgang Reh 2023-01-05 15:12:38 UTC
Created attachment 1935952 [details]
File: limits

Comment 6 Wolfgang Reh 2023-01-05 15:12:39 UTC
Created attachment 1935953 [details]
File: maps

Comment 7 Wolfgang Reh 2023-01-05 15:12:40 UTC
Created attachment 1935954 [details]
File: mountinfo

Comment 8 Wolfgang Reh 2023-01-05 15:12:42 UTC
Created attachment 1935955 [details]
File: open_fds

Comment 9 Wolfgang Reh 2023-01-05 15:12:43 UTC
Created attachment 1935956 [details]
File: proc_pid_status

Comment 10 Dmitry Butskoy 2023-01-06 04:40:13 UTC
How reliable is this bug reproduced for you? (Ie. each time vs. sometimes vs. once)

Comment 11 Wolfgang Reh 2023-01-07 16:02:39 UTC
Hi,

it happens every time I try to access the printer page. It did work before, the only thing I can remember that changed was an update from Fedora 35 to Fedora 37. The update worked without any troubles.

  Regards
    Wolfgang Reh

Comment 12 Dmitry Butskoy 2023-01-08 05:37:28 UTC
Thanks for the answer.

Could you try to reproduce the crash with the printer page "copied" to your local disk?

I mean access the printer page by the previous, worked SM version (or some another browser), then "Save Page As" to the local disk, then try to open "file:///path_where_saved". If it also results in a crash, then send the whole saved stuff to me so I can reproduce it myself. This will greatly help in fixing this bug, since the main problem for developers is the inability to reproduce the bug themselves.

Comment 13 Wolfgang Reh 2023-01-10 20:32:00 UTC
Created attachment 1937162 [details]
Saved Webpage (complete) as saved with Falkon

Hi,

if I save the webpage (complete) with Falkon (which opens the page without troubles ... as before Seamonkey did) I cannot open the saved page as Seamonky crashes again. I attached the Complete webpage as tar.gz.

Regards
  Wolfgang Reh

Comment 14 Dmitry Butskoy 2023-01-11 07:00:35 UTC
Thanks.

Does not crash for me, at least under CentOS 7. :(

Since you already have a test case (the crash on the saved page), could you reproduce it on a safe mode (ie. start from cmdline as "seamonkey -safe-mode" ) and/or on a clean profile (IOW, mv ~/.mozilla ~/.mozilla-SAVED, then start SM etc.)? This could help to figure out if the crash is related to installed SM extensions or something in your usual SM profile.

If it crashes on a clean profile, could you also check (on such a "testing" profile) whether it crahes on the generic Fedora/CentOS build (https://buc.fedorapeople.org/seamonkey/download/seamonkey-2.53.14-3.tar.xz) and on the official upstream build (http://archive.mozilla.org/pub/seamonkey/releases/2.53.14/linux-x86_64/de/seamonkey-2.53.14.de.linux-x86_64.tar.bz2). Both are build under CentOS-7, that way we can check if the crash is related to particular compiler, build and run environment etc.

For now, it is clean that the crash is triggered by an extra "meta" tag in langbar.html (note line 3 in the saved ./Lexmark_X544_files/langbar.html, and #13 of Thread 1 in the initial backtrace attached). What happens if you open this "langbar.html" directly (without any other activity in the browser session)?

Comment 15 Wolfgang Reh 2023-01-12 18:11:57 UTC
Hi,

I've tried all the variants you gave in your last comment:

1 - Start with "seamonkey -safe-mode":
  This crashes like before.
2 - Moved the profile and started with a blank profile:
  This crashes like before.
3 - Started generic Fedora/CentOS build:
  Downloaded from https://buc.fedorapeople.org/seamonkey/download/seamonkey-2.53.14-3.tar.xz
  Unpacked the archive and started it from the command line as seamonkey
  This works!
4 - Started official upstream build:
  Downloaded from http://archive.mozilla.org/pub/seamonkey/releases/2.53.14/linux-x86_64/de/seamonkey-2.53.14.de.linux-x86_64.tar.bz2
  Unpacked the archive and started it from the command line as seamonkey
  This works!
5 - I added a test with the "official upstream build" and my unchanged profile:
  First I saved my profile ;)
  Started the "official upstream build" and saw that my skin and extensions where there.
  This works!

So for me it seams as if it is a problem of the current version in the official Fedora-Repo. Will there be a "new" version released soon? I would prefer to use the version from the Fedora-Repo.

Regards
  Wolfgang Reh

Comment 16 Dmitry Butskoy 2023-01-13 13:43:14 UTC
Thanks a lot!

It seems to me that the problem is Fedora-37 uses new system ICU library version 71.1 . Fedora-35's one was 69.1, and the bundled "generic" and "upstream" ones are 63.1 .

The Firefox package (we're orienting on) has long since abandoned the system ICU library at all in favor of the bundled one (provided by the ordinary program source).  Apparently we should follow this behavior since now, and use the bundled ICU library, provided by the SeaMonkey upstream source.

New 2.53.15 version should appear soon, and I'll build it with the bundled ICU. For now, you can use the generic Fedora/CentOS one for that printer page.

Comment 17 Fedora Update System 2023-01-22 01:20:33 UTC
FEDORA-2023-dfeb282345 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-dfeb282345

Comment 19 Fedora Update System 2023-01-23 01:56:23 UTC
FEDORA-2023-dfeb282345 has been pushed to the Fedora 37 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-dfeb282345`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-dfeb282345

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 20 Wolfgang Reh 2023-01-24 19:06:16 UTC
Hi,

I tried the rpm from the link in comment #18 ... but this version still crashes.

Regards,
  Wolfgang Reh

Comment 21 Dmitry Butskoy 2023-01-24 20:39:03 UTC
Thanks.

Well, then I would like to ask you to test one more package (2.53.15-1.1) from the special scratch build: https://kojipkgs.fedoraproject.org//work/tasks/8684/96628684/seamonkey-2.53.15-1.1.fc37.x86_64.rpm

It is built, like the upstream and Fedora generic versions, with all the bundled libraries (instead of system ones). Such a test will help determine if the problem lies in the system libraries, or if it is a compilation environment issue.

Comment 22 Wolfgang Reh 2023-01-30 19:22:33 UTC
Hi,

sorry for the bad news ... but this version also crashes.

Currently only the two version mentioned in Comment #14 and #15 work.

Regards,
  Wolfgang Reh

Comment 23 Dmitry Butskoy 2023-01-30 19:47:06 UTC
Thanks for the tests.

The results mean that the problem is not in the new F37's system libraries.

In comment #11, you mentioned that the previously used Fedora-35 system did not have this problem. Could you pls try to test the old, f35's package:
 https://kojipkgs.fedoraproject.org//packages/seamonkey/2.53.14/3.fc35/x86_64/seamonkey-2.53.14-3.fc35.x86_64.rpm
under your current Fedora 37?

(IOW, either install it as "rpm -U --force .....", or unpack by rpm2cpio and use /usr/lib64/seamonkey data the same way as for upstream and generic build).

If it will work OK, pls try also F36's one:
https://kojipkgs.fedoraproject.org//packages/seamonkey/2.53.14/3.fc36/x86_64/seamonkey-2.53.14-3.fc36.x86_64.rpm

F35's one was build by clang-13 compiler, F36's -- by clang-14, and F37 has clang-15. These tests can help determine if it is a compiler-specific issue (or some other build environment issue).

Comment 24 Fedora Update System 2023-01-31 01:56:30 UTC
FEDORA-2023-dfeb282345 has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 25 Dmitry Butskoy 2023-01-31 16:10:42 UTC
Reopen, since the problem still persists.

Comment 26 Wolfgang Reh 2023-01-31 17:23:05 UTC
Hi again,

I've tried both versions and both of them crash :(. Obviously it's some problem with the environment in Fedora 37. I definitely had the printer page working in Fedora 35 (I skipped Fedora 36).

  Regards,
    Wolfgang Reh

Comment 27 Dmitry Butskoy 2023-01-31 23:46:05 UTC
Wolfgang,

Could you please re-run the test with the f35's one?

I finally managed to get to rawhide-test.fedorainfracloud.org machine and repeat all the tests with the tarball provided by you. The same results (ie. upstream and generic are OK, others failed), except F35 -- package https://kojipkgs.fedoraproject.org//packages/seamonkey/2.53.14/3.fc35/x86_64/seamonkey-2.53.14-3.fc35.x86_64.rpm does NOT crash!

I'm testing at a remote VM using Xvfb, so I don't have access to the actual screen image. I can only state whether the program crashed or not. Therefore, please check the f35 package again (including on your real printer).

Note -- to install "seamonkey-2.53.14-3.fc35" under F37 environment, you need to install old libjxl, libvpx and libdav1d packages (since F37 already have new ones). You can get it from:
https://kojipkgs.fedoraproject.org//packages/jpegxl/0.6.1/6.fc35/x86_64/libjxl-0.6.1-6.fc35.x86_64.rpm
https://kojipkgs.fedoraproject.org//packages/libvpx/1.10.0/2.fc35/x86_64/libvpx-1.10.0-2.fc35.x86_64.rpm
https://kojipkgs.fedoraproject.org//packages/dav1d/0.9.2/1.fc35/x86_64/libdav1d-0.9.2-1.fc35.x86_64.rpm
and then install as "rpm -i --force ......" (so you will have two instances simultaneously).

So for now, the reason which triggered the issue is "Clang compiler since the version of 14".

The last package without the issue is 2.53.11-1.fc36 (compiled by clang13), the first package affected is 2.53.11.1-2.fc36 (compiled by clang14).

Comment 28 Wolfgang Reh 2023-02-01 18:26:13 UTC
Hi,

I do have troubles to test the version seamonkey-2.53.14-3.fc35.x86_64.rpm. I did install the libraries you told, but I can't start seamonkey (extracted via rpm2cpio) because

XPCOMGlueLoad error for file /home/Wolfgang/Downloads/smtest/usr/lib64/seamonkey/libxul.so:
libicui18n.so.69: cannot open shared object file: No such file or directory
Couldn't load XPCOM.

I then tried to install the given seamonkey rpm with rpm -i --force ... (although I don't want to do that to not damage the existing installation) but this complains with

> rpm -i --force seamonkey-2.53.14-3.fc35.x86_64.rpm
Fehler: Fehlgeschlagene Abhängigkeiten:
        libicudata.so.69()(64bit) wird benötigt von seamonkey-2.53.14-3.fc35.x86_64
        libicui18n.so.69()(64bit) wird benötigt von seamonkey-2.53.14-3.fc35.x86_64
        libicuuc.so.69()(64bit) wird benötigt von seamonkey-2.53.14-3.fc35.x86_64

complaining about missing dependencies (sorry for the German text).

Do you have an idea how I can run the test?

  Regards,
    Wolfgang Reh

Comment 29 Dmitry Butskoy 2023-02-01 18:33:48 UTC
Just install "libicu69" package first.

Note, you can "rpm -U --force ..." for f35's seamonkey package to avoid rpm2cpio (if any).
Note "-U"/update, not "-i"/install for seamonkey package. The "-i" is suitable for install (in "parallel") of three old f35 depended packages mentioned before.

Comment 30 Wolfgang Reh 2023-02-01 19:32:26 UTC
Hi,

ok, after also installing libicu69-69.1-1.fc37.x86_64.rpm seamonkey-2.53.14-3.fc35.x86_64.rpm starts ... and this Version CAN load the printer page! I've tried it directly with the printer (using http://<printer-IP>) and it works. Some change AFTER the version obviously broke something :o).

  Regards,
    Wolfgang Reh

PS: Sorry for not directly thinking of "just install libicu69".

Comment 31 Dmitry Butskoy 2023-02-02 02:41:23 UTC
Upstream bug https://bugzilla.mozilla.org/show_bug.cgi?id=1604307 fixes the issue.

It seems that things like "memcpy (somewhere, NULL, 0);" was allowed up to clang 13 (note length==0), but no more allowed since clang 14. Probably some more optimized/inlined memcpy() etc.


Wolfgang,

Could you finally (I hope :) ) test the fixed package (2.53.15-1.2) for f37:
https://kojipkgs.fedoraproject.org//work/tasks/6661/96986661/seamonkey-2.53.15-1.2.fc37.x86_64.rpm
against the real printer?

It no more crashes for me anyway in tests with the tarball provided here.

Comment 32 Wolfgang Reh 2023-02-02 17:31:45 UTC
Hi,

you are right, this version works! I tested it against the real printer without any problem. If this version is distributed via the updates everything is fine again ... great.

  Regards,
    Wolfgang Reh

Comment 33 Dmitry Butskoy 2023-02-02 17:47:43 UTC
Fine!

Thank you very much for your cooperation, especially for quickly providing a convenient and reliable test!

You can use 2.53.15-1.2 for yourself for now, after the next update it will be replaced by the official release. I do not plan to make a new release just because of this error, since the problem is still not widespread. Moreover, a new 2.53.16 should appear soon, already with these changes.

Comment 34 Fedora Update System 2023-03-31 11:06:40 UTC
FEDORA-2023-2212bff784 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-2212bff784

Comment 35 Fedora Update System 2023-03-31 11:08:31 UTC
FEDORA-2023-c85047d868 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-c85047d868

Comment 36 Fedora Update System 2023-03-31 11:09:11 UTC
FEDORA-2023-a6f685801e has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2023-a6f685801e

Comment 37 Fedora Update System 2023-04-01 02:11:34 UTC
FEDORA-2023-a6f685801e has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-a6f685801e`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-a6f685801e

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 38 Fedora Update System 2023-04-01 02:16:54 UTC
FEDORA-2023-c85047d868 has been pushed to the Fedora 37 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-c85047d868`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-c85047d868

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 39 Fedora Update System 2023-04-04 01:33:35 UTC
FEDORA-2023-c85047d868 has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 40 Fedora Update System 2023-04-09 01:41:09 UTC
FEDORA-2023-a6f685801e has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.