On 07/05/18 20:59, Hans Petter Selasky wrote:
On 07/05/18 19:48, Pete Wright wrote:
On 07/05/2018 10:10, John Baldwin wrote:
On 7/3/18 5:10 PM, Pete Wright wrote:
On 07/03/2018 15:56, John Baldwin wrote:
On 7/3/18 3:34 PM, Pete Wright wrote:
On 07/03/2018 15:29, John Baldwin wrote:
That seems like kgdb is looking at the wrong CPU. Can you use
'info threads' and look for threads not stopped in 'sched_switch'
and get their backtraces? You could also just do 'thread apply
all bt' and put that file at a URL if that is easiest.
sure thing John - here's a gist of "thread apply all bt"
https://gist.github.com/gem-pete/d8d7ab220dc8781f0827f965f09d43ed
That doesn't look right at all. Are you sure the kernel matches the
vmcore? Also, which kgdb version are you using?
yea i agree that doesn't look right at all. here is my setup:
$ which kgdb
/usr/bin/kgdb
$ kgdb
GNU gdb 6.1.1 [FreeBSD]
$ ls -lh /var/crash/vmcore.1
-rw------- 1 root wheel 1.6G Jul 3 15:03 /var/crash/vmcore.1
$ ls -l /usr/lib/debug/boot/kernel/kernel.debug
-r-xr-xr-x 1 root wheel 87840496 Jul 3 13:54
/usr/lib/debug/boot/kernel/kernel.debug
and i invoke kgdb like so:
$ sudo kgdb /usr/lib/debug/boot/kernel/kernel.debug /var/crash/vmcore.1
here's a gist of my full gdb session:
http://termbin.com/krsn
dunno - maybe i have a bad core dump? regardless, more than happy to
help so let me know if i should try anything else or patches etc..
Can you try installing gdb from ports and using /usr/local/bin/kgdb?
that seems to have done the trick, at least the output looks more
encouraging.
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---
KDB: enter: panic
__curthread () at ./machine/pcpu.h:231
231 __asm("movq %%gs:%1,%0" : "=r" (td)
here's my full kgdb session:
http://termbin.com/qa4f
i don't see any threads not in "sched_switch" though :(
Hi,
The problem may be that the patch to enable atomic inlining of all
macros forgot to set the SMP keyword which means SMP is not defined at
all for KLD's so all non-kernel atomic usage is with MPLOCKED empty!
/*
* For userland, always use lock prefixes so that the binaries will run
* on both SMP and !SMP systems.
*/
#if defined(SMP) || !defined(_KERNEL)
#define MPLOCKED "lock ; "
#else
#define MPLOCKED
#endif
Can you try to recompile the LinuxKPI /sys/modules/linuxkpi with
DEBUG_FLAGS="-DSMP" ?
and similarly the drm-next package?
Also please find attached a patch for amd64.
--HPS
Index: sys/amd64/include/atomic.h
===================================================================
--- sys/amd64/include/atomic.h (revision 335974)
+++ sys/amd64/include/atomic.h (working copy)
@@ -132,7 +132,7 @@
* For userland, always use lock prefixes so that the binaries will run
* on both SMP and !SMP systems.
*/
-#if defined(SMP) || !defined(_KERNEL)
+#if defined(SMP) || !defined(_KERNEL) || defined(KLD_MODULE)
#define MPLOCKED "lock ; "
#else
#define MPLOCKED
@@ -354,7 +354,7 @@
*/
#define OFFSETOF_MONITORBUF 0x100
-#if defined(SMP)
+#if defined(SMP) || defined(KLD_MODULE)
static __inline void
__storeload_barrier(void)
{
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"