Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1309346 - arm64: unhandled instruction 0x694004A2 (ldpsw) causes check failure while building hawkey
Summary: arm64: unhandled instruction 0x694004A2 (ldpsw) causes check failure while bu...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: valgrind
Version: 24
Hardware: aarch64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Mark Wielaard
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: ARM64, F-ExcludeArch-aarch64
TreeView+ depends on / blocked
 
Reported: 2016-02-17 14:31 UTC by Marcin Juszkiewicz
Modified: 2016-03-26 18:06 UTC (History)
5 users (show)

Fixed In Version: valgrind-3.11.0-18.fc23 valgrind-3.11.0-18.fc24
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-03-25 01:24:36 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
KDE Software Compilation 360425 0 None None None 2016-03-14 20:15:18 UTC

Description Marcin Juszkiewicz 2016-02-17 14:31:06 UTC
Description of problem:

During build of hawkey hawkey-0.6.2-4.fc24 valgrind fails with unhandled instruction:

1: ARM64 front end: load_store
1: disInstr(arm64): unhandled instruction 0x694004A2
1: disInstr(arm64): 0110'1001 0100'0000 0000'0100 1010'0010
1: ==29033== valgrind: Unrecognised instruction at address 0x4ad1260.
1: ==29033==    at 0x4AD1260: __mktime_internal (in /usr/lib64/libc-2.22.90.so)
1: ==29033==    by 0x49FFA9F: ??? (in /usr/lib64/libsolvext.so.0)
1: ==29033==    by 0x4F385EB: ??? (in /usr/lib64/libexpat.so.1.6.0)
1: ==29033==    by 0x4F38EA3: ??? (in /usr/lib64/libexpat.so.1.6.0)
1: ==29033==    by 0x4F3A10F: ??? (in /usr/lib64/libexpat.so.1.6.0)
1: ==29033==    by 0x4F3A733: ??? (in /usr/lib64/libexpat.so.1.6.0)
1: ==29033==    by 0x4F3C3E7: XML_ParseBuffer (in /usr/lib64/libexpat.so.1.6.0)
1: ==29033==    by 0x4A0055B: repo_add_updateinfoxml (in /usr/lib64/libsolvext.so.0)
1: ==29033==    by 0x48C23A7: load_updateinfo_cb (sack.c:384)
1: ==29033==    by 0x48C3B8B: load_ext (sack.c:349)
1: ==29033==    by 0x48C42DB: hy_sack_load_repo (sack.c:1046)
1: ==29033==    by 0x18727F: setup_yum_sack (fixtures.c:193)
1: ==29033== Your program just tried to execute an instruction that Valgrind
1: ==29033== did not recognise.  There are two possible reasons for this.
1: ==29033== 1. Your program has a bug and erroneously jumped to a non-code
1: ==29033==    location.  If you are running Memcheck and you just saw a
1: ==29033==    warning about a bad jump, it's probably your program's fault.
1: ==29033== 2. The instruction is legitimate but Valgrind doesn't handle it,
1: ==29033==    i.e. it's Valgrind's fault.  If you think this is the case or
1: ==29033==    you are not sure, please let us know and we'll try to fix it.
1: ==29033== Either way, Valgrind will now raise a SIGILL signal which will
1: ==29033== probably kill your program.
1: ==29033== 
1: ==29033== Process terminating with default action of signal 4 (SIGILL)
1: ==29033==  Illegal opcode at address 0x4AD1260
1: ==29033==    at 0x4AD1260: __mktime_internal (in /usr/lib64/libc-2.22.90.so)
1: ==29033==    by 0x49FFA9F: ??? (in /usr/lib64/libsolvext.so.0)
1: ==29033==    by 0x4F385EB: ??? (in /usr/lib64/libexpat.so.1.6.0)
1: ==29033==    by 0x4F38EA3: ??? (in /usr/lib64/libexpat.so.1.6.0)
1: ==29033==    by 0x4F3A10F: ??? (in /usr/lib64/libexpat.so.1.6.0)
1: ==29033==    by 0x4F3A733: ??? (in /usr/lib64/libexpat.so.1.6.0)
1: ==29033==    by 0x4F3C3E7: XML_ParseBuffer (in /usr/lib64/libexpat.so.1.6.0)
1: ==29033==    by 0x4A0055B: repo_add_updateinfoxml (in /usr/lib64/libsolvext.so.0)
1: ==29033==    by 0x48C23A7: load_updateinfo_cb (sack.c:384)
1: ==29033==    by 0x48C3B8B: load_ext (sack.c:349)
1: ==29033==    by 0x48C42DB: hy_sack_load_repo (sack.c:1046)
1: ==29033==    by 0x18727F: setup_yum_sack (fixtures.c:193)
1: ==29033== 

Version-Release number of selected component (if applicable):

valgrind-3.11.0-12.fc24

How reproducible:

always

Steps to Reproduce:
1. do a build of hawkey on aarch64

Actual results:

build fails

Expected results:

build works

Additional info:

There is also warning about missing syscall but patching valgrind to handle it does not change situation.

Comment 1 Mark Wielaard 2016-02-17 19:33:29 UTC
Would you be able to use valgrind with gdb (http://valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserver-gdb) or otherwise disassemble 0x4AD1260: __mktime_internal libc-2.22.90.so to give the actual instruction?

Comment 2 Marcin Juszkiewicz 2016-02-17 22:17:02 UTC
   a1260:	694004a2 	ldpsw	x2, x1, [x5]

Comment 3 Mark Wielaard 2016-02-17 22:45:01 UTC
Yes looks like valgrind supports ldp, but not ldpsw.
Do you happen to know whether this is an AArch64 8.1 extension?

Comment 4 Marcin Juszkiewicz 2016-02-18 09:03:50 UTC
No idea is it 8.1 or 8.0 instruction. My hardware is 8.0 for sure (APM X-Gene).

Comment 5 Jan Kurik 2016-02-24 15:24:40 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle.
Changing version to '24'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase

Comment 6 Mark Wielaard 2016-03-14 20:15:18 UTC
Proposed a patch upstream: https://bugs.kde.org/show_bug.cgi?id=360425

Comment 7 Mark Wielaard 2016-03-14 23:22:56 UTC
I did a scratch build of valgrind-3.11.0-18.fc25 for aarch64:
http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3457331
Which contains the proposed patch for this issue and some other arm64 fixes.
If you could try it out to see if it resolves this issue that would be appreciated.

Comment 8 Marcin Juszkiewicz 2016-03-15 09:52:05 UTC
Wrote: /builddir/build/RPMS/hawkey-0.6.2-4.fc24.aarch64.rpm

With -18 valgrind ;)

Comment 9 Fedora Update System 2016-03-15 18:39:41 UTC
valgrind-3.11.0-18.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-ba7dc44867

Comment 10 Fedora Update System 2016-03-15 18:44:45 UTC
valgrind-3.11.0-18.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-0186345d7f

Comment 11 Fedora Update System 2016-03-15 21:29:33 UTC
valgrind-3.11.0-18.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-ba7dc44867

Comment 12 Fedora Update System 2016-03-16 15:22:54 UTC
valgrind-3.11.0-18.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-0186345d7f

Comment 13 Fedora Update System 2016-03-25 01:24:29 UTC
valgrind-3.11.0-18.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.

Comment 14 Fedora Update System 2016-03-26 18:05:55 UTC
valgrind-3.11.0-18.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, 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.