[Bug 240145] [smartpqi][zfs] kernel panic with hanging vdev
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sat Feb 6 22:46:39 UTC 2021
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240145
--- Comment #14 from rainer at ultra-secure.de ---
OK,
so I realized I can compile this anywhere, not just on my server.
This is what I did:
- take a FreeBSD 12.2-RELEASE-p3 install
- download src.txz, extract
- freebsd-update fetch && freebsd-update install
- cd /usr/src
- patch -p 0 < /root/D24428.diff
- make buildkernel && make installkernel
this is what I get:
cc -target x86_64-unknown-freebsd12.2
--sysroot=/usr/obj/usr/src/amd64.amd64/tmp
-B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -c -O2 -pipe -fno-strict-aliasing
-g -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include
-I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include
opt_global.h -fno-common -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
-MD -MF.depend.nehemiah.o -MTnehemiah.o
-fdebug-prefix-map=./machine=/usr/src/sys/amd64/include
-fdebug-prefix-map=./x86=/usr/src/sys/x86/include -mcmodel=kernel -mno-red-zone
-mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding
-fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs
-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef
-Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs
-fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautological-compare
-Wno-error-empty-body -Wno-error-parentheses-equality
-Wno-error-unused-function -Wno-error-pointer-sign
-Wno-error-shift-negative-value -Wno-address-of-packed-member -mno-aes
-mno-avx -std=iso9899:1999 -Werror /usr/src/sys/dev/random/nehemiah.c
ctfconvert -L VERSION -g nehemiah.o
cc -target x86_64-unknown-freebsd12.2
--sysroot=/usr/obj/usr/src/amd64.amd64/tmp
-B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -c -O2 -pipe -fno-strict-aliasing
-g -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include
-I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include
opt_global.h -fno-common -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
-MD -MF.depend.smartpqi_cam.o -MTsmartpqi_cam.o
-fdebug-prefix-map=./machine=/usr/src/sys/amd64/include
-fdebug-prefix-map=./x86=/usr/src/sys/x86/include -mcmodel=kernel -mno-red-zone
-mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding
-fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs
-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef
-Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs
-fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautological-compare
-Wno-error-empty-body -Wno-error-parentheses-equality
-Wno-error-unused-function -Wno-error-pointer-sign
-Wno-error-shift-negative-value -Wno-address-of-packed-member -mno-aes
-mno-avx -std=iso9899:1999 -Werror /usr/src/sys/dev/smartpqi/smartpqi_cam.c
In file included from /usr/src/sys/dev/smartpqi/smartpqi_cam.c:34:
In file included from /usr/src/sys/dev/smartpqi/smartpqi_includes.h:86:
/usr/src/sys/dev/smartpqi/smartpqi_defines.h:973:27: error: redefinition of
typedef 'OS_ATOMIC64_T' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef volatile uint64_t OS_ATOMIC64_T;
^
/usr/src/sys/dev/smartpqi/smartpqi_defines.h:825:33: note: previous definition
is here
typedef volatile uint64_t OS_ATOMIC64_T;
^
/usr/src/sys/dev/smartpqi/smartpqi_defines.h:975:9: error: 'OS_ATOMIC64_READ'
macro redefined [-Werror,-Wmacro-redefined]
#define OS_ATOMIC64_READ(_softs, target)
atomic_load_acq_64(&(_softs)->target)
^
/usr/src/sys/dev/smartpqi/smartpqi_defines.h:826:9: note: previous definition
is here
#define OS_ATOMIC64_READ(p) atomic_load_acq_64(p)
^
/usr/src/sys/dev/smartpqi/smartpqi_defines.h:976:9: error: 'OS_ATOMIC64_INC'
macro redefined [-Werror,-Wmacro-redefined]
#define OS_ATOMIC64_INC(_softs, target)
atomic_add_64(&(_softs)->target, 1)
^
/usr/src/sys/dev/smartpqi/smartpqi_defines.h:831:9: note: previous definition
is here
#define OS_ATOMIC64_INC(p) (atomic_fetchadd_64(p, 1) + 1)
^
/usr/src/sys/dev/smartpqi/smartpqi_cam.c:619:4: error: use of undeclared
identifier 'bsd_status'
bsd_status = EIO;
^
/usr/src/sys/dev/smartpqi/smartpqi_cam.c:623:31: error: use of undeclared
identifier 'bsd_status'; did you mean 'dumpstatus'?
DBG_FUNC("OUT error = %d\n", bsd_status);
^~~~~~~~~~
dumpstatus
/usr/src/sys/dev/smartpqi/smartpqi_defines.h:1083:58: note: expanded from macro
'DBG_FUNC'
printf("[FUNC]:[ %s ] [ %d
]"fmt,__func__,__LINE__,##args); \
^
/usr/src/sys/sys/systm.h:217:5: note: 'dumpstatus' declared here
int dumpstatus(vm_offset_t addr, off_t count);
^
/usr/src/sys/dev/smartpqi/smartpqi_cam.c:623:31: error: format specifies type
'int' but the argument has type 'int (*)(vm_offset_t, off_t)' (aka 'int
(*)(unsigned long, long)')
[-Werror,-Wformat]
DBG_FUNC("OUT error = %d\n", bsd_status);
~~ ^~~~~~~~~~
/usr/src/sys/dev/smartpqi/smartpqi_defines.h:1083:58: note: expanded from macro
'DBG_FUNC'
printf("[FUNC]:[ %s ] [ %d
]"fmt,__func__,__LINE__,##args); \
~~~
^~~~
/usr/src/sys/dev/smartpqi/smartpqi_cam.c:625:9: error: use of undeclared
identifier 'bsd_status'; did you mean 'dumpstatus'?
return bsd_status;
^~~~~~~~~~
dumpstatus
/usr/src/sys/sys/systm.h:217:5: note: 'dumpstatus' declared here
int dumpstatus(vm_offset_t addr, off_t count);
^
/usr/src/sys/dev/smartpqi/smartpqi_cam.c:625:9: error: incompatible pointer to
integer conversion returning 'int (vm_offset_t, off_t)' (aka 'int (unsigned
long, long)') from a function
with result type 'int' [-Werror,-Wint-conversion]
return bsd_status;
^~~~~~~~~~
8 errors generated.
*** Error code 1
Stop.
make[2]: stopped in /usr/obj/usr/src/amd64.amd64/sys/GENERIC
*** Error code 1
*** Error code 1
Unfortunately, I have no idea how to fix this.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-scsi
mailing list