Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SPEC2017: 538.imagick_r failure #23

Open
NikitaSobolev opened this issue Apr 29, 2020 · 0 comments
Open

SPEC2017: 538.imagick_r failure #23

NikitaSobolev opened this issue Apr 29, 2020 · 0 comments

Comments

@NikitaSobolev
Copy link

538.imagick_r test fails and calls stack trace.

How to reproduce this build:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/wiki/SPEC2017#how-to-run-prebuilt-spec

Config file used:
arc.cfg.txt
[Delte .txt extension before usage]

Test output: see below or in the file:
538.imagick_r_stack_trace.log

runcpu v5825
Using 'linux-arc-HSDKv1' tools
Reading file manifests... read 32282 entries from 2 files in 1.94s (16598 files/s)
Loading runcpu modules.................
Locating benchmarks...found 47 benchmarks in 53 benchsets.
Reading config file '/home/root/build/config/arc.cfg'
1 configuration selected:

 Action    Run Mode   Workload     Report Type     Benchmarks
--------   --------   --------   ---------------   ----------------------------
validate   rate       refrate    SPECrate2017_fp   538.imagick_r
-------------------------------------------------------------------------------

Setting up environment for running 538.imagick_r...
Starting runcpu for 538.imagick_r...
Running "specperl /home/root/build/bin/sysinfo" to gather system information.
sysinfo: r5974 of 2018-05-19 (9bcde8f2999c33d61f64985e45859ea9)
sysinfo: Getting system information for Linux...
sysinfo: ...getting CPU info
sysinfo: ...getting info from numactl
sysinfo: ...getting memory info
sysinfo: ...getting OS info
sysinfo: ...getting disk info
Retrieving flags file (/home/root/build/config/flags/gcc.xml)...
Benchmarks selected: 538.imagick_r
Compiling Binaries
  Building 538.imagick_r base mytest-m32: (build_base_mytest-m32.0000) [2020-04-11 21:13:37]

Build successes for fprate: 538.imagick_r(base)
Build errors for fprate: None

Setting Up Run Directories
  Setting up 538.imagick_r refrate (ref) base mytest-m32 (1 copy): run_base_refrate_mytest-m32.0000
Running Benchmarks
  Running 538.imagick_r refrate (ref) base mytest-m32 (1 copy) [2020-04-11 21:34:44]

Oops
Path: /home/root/build/benchspec/CPU/538.imagick_r/run/run_base_refrate_mytest-m32.0000/imagick_r_base.mytest-m32
CPU: 2 PID: 10845 Comm: imagick_r_base. Not tainted 5.3.15 #1

[ECR   ]: 0x00060008 => Execute from Non-exec Page
[EFA   ]: 0x9003ecf4
[BLINK ]: __handle_domain_irq+0x40/0xd8
[ERET  ]: irq_enter+0x34/0x8c
[STAT32]: 0x00081842 :   K DE
BTA: 0x9007dc90  SP: 0xbcbc1f58  FP: 0x22d58da8
LPS: 0x200ee888 LPE: 0x200ee88c LPC: 0x00000000
r00: 0x00000000 r01: 0x00000010 r02: 0x00010000
r03: 0x40000002 r04: 0x00000000 r05: 0xbff00000
r06: 0x00000000 r07: 0xc0ba1a00 r08: 0x80000000
r09: 0xc1616ddc r10: 0x5fd361cc r11: 0x200ee888
r12: 0x9007dc90 r13: 0x900321bc r14: 0x00000000
r15: 0x0000288d r16: 0x00000000 r17: 0x00000602
r18: 0x00000001 r19: 0x00000000 r20: 0x00000000
r21: 0x00000000 r22: 0x027a3318 r23: 0x00931d08
r24: 0x900358de r25: 0xbf614700



Stack Trace:
  irq_enter+0x34/0x8c
  __handle_domain_irq+0x40/0xd8
  ret_from_exception+0x0/0x8
shahab-vahedi pushed a commit that referenced this issue Nov 23, 2022
We enabled UBSAN in the ubuntu kernel, and the cs35l41 driver triggers
a warning calltrace like below:

cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: bitoffset= 8, word_offset=23, bit_sum mod 32=0, otp_map[i].size = 24
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: bitoffset= 0, word_offset=24, bit_sum mod 32=24, otp_map[i].size = 0
================================================================================
UBSAN: shift-out-of-bounds in linux-kernel-src/sound/soc/codecs/cs35l41-lib.c:836:8
shift exponent 64 is too large for 64-bit type 'long unsigned int'
CPU: 10 PID: 595 Comm: systemd-udevd Not tainted 5.15.0-23-generic #23
Hardware name: LENOVO \x02MFG_IN_GO/\x02MFG_IN_GO, BIOS N3GET19W (1.00 ) 03/11/2022
Call Trace:
 <TASK>
 show_stack+0x52/0x58
 dump_stack_lvl+0x4a/0x5f
 dump_stack+0x10/0x12
 ubsan_epilogue+0x9/0x45
 __ubsan_handle_shift_out_of_bounds.cold+0x61/0xef
 ? regmap_unlock_mutex+0xe/0x10
 cs35l41_otp_unpack.cold+0x1c6/0x2b2 [snd_soc_cs35l41_lib]
 cs35l41_hda_probe+0x24f/0x33a [snd_hda_scodec_cs35l41]
 cs35l41_hda_i2c_probe+0x65/0x90 [snd_hda_scodec_cs35l41_i2c]

When both bitoffset and otp_map[i].size are 0, the line 836 will
result in GENMASK(-1, 0), this triggers the shift-out-of-bounds
calltrace.

Here add a checking, if both bitoffset and otp_map[i].size are 0,
do not run GENMASK() and directly set otp_val to 0, this will not
bring any function change on the driver but could avoid the calltrace.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
Link: https://lore.kernel.org/r/20220324081839.62009-2-hui.wang@canonical.com
Signed-off-by: Mark Brown <broonie@kernel.org>
xxkent added a commit that referenced this issue Aug 1, 2023
We have to change soft irq number to 22 since the previous number 21
now is occupied by CDMA. #23 is occupied by cluster PMU.
22 is the last unused by HW irq number.
xxkent added a commit that referenced this issue Aug 2, 2023
We have to change soft irq number to 22 since the previous number 21
now is occupied by CDMA. #23 is occupied by cluster PMU.
22 is the last unused by HW irq number.
xxkent added a commit that referenced this issue Aug 4, 2023
We have to change soft irq number to 22 since the previous number 21
now is occupied by CDMA. #23 is occupied by cluster PMU.
22 is the last unused by HW irq number.
xxkent added a commit that referenced this issue Oct 10, 2023
We have to change soft irq number to 22 since the previous number 21
now is occupied by CDMA. #23 is occupied by cluster PMU.
22 is the last unused by HW irq number.
xxkent added a commit that referenced this issue Oct 17, 2023
We have to change soft irq number to 22 since the previous number 21
now is occupied by CDMA. #23 is occupied by cluster PMU.
22 is the last unused by HW irq number.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant