"panic: mutex Giant not owned" in do_execve()
Jeff Roberson
jroberson at chesapeake.net
Mon Jun 20 20:48:15 GMT 2005
On Fri, 17 Jun 2005, Kris Kennaway wrote:
> quad e450 running up-to-date -current:
>
> panic: mutex Giant not owned at ../../../kern/kern_mutex.c:299
> cpuid = 0
> KDB: enter: panic
> [thread pid 52851 tid 100456 ]
> Stopped at kdb_enter+0x3c: ta %xcc, 1
> db> wh
> Tracing pid 52851 tid 100456 td 0xfffff80077c61560
> panic() at panic+0x16c
> _mtx_assert() at _mtx_assert+0x6c
> _mtx_unlock_flags() at _mtx_unlock_flags+0x68
> do_execve() at do_execve+0xa0c
Can you tell me what code is at do_execve+0xa0c?
> kern_execve() at kern_execve+0x7c
> execve() at execve+0x38
> syscall() at syscall+0x2d4
> -- reserved %o7=0 --
> userland() at 0x40223400
> user trace: trap %o7=0
> pc 0x40223400, sp 0x7fdffffd021
> done
>
> #12 0x00000000c01525cc in do_execve (td=0xfffff80077c61560, args=0xc, mac_p=0x0) at ../../../kern/kern_exec.c:789
> #13 0x00000000c0151b3c in kern_execve (td=0xfffff80077c61560, args=0xeea6f670, mac_p=0x0) at ../../../kern/kern_exec.c:250
> #14 0x00000000c0151a78 in execve (td=0xfffff80077c61560, uap=0xeea6f8c0) at ../../../kern/kern_exec.c:185
> #15 0x00000000c02f3cd4 in syscall (tf=0xeea6f880) at ../../../sparc64/sparc64/trap.c:592
> (kgdb) frame 12
> #12 0x00000000c01525cc in do_execve (td=0xfffff80077c61560, args=0xc, mac_p=0x0) at ../../../kern/kern_exec.c:789
> 789 VFS_UNLOCK_GIANT(vfslocked);
> (kgdb) list
> 784 #ifdef MAC
> 785 mac_execve_exit(imgp);
> 786 if (interplabel != NULL)
> 787 mac_vnode_label_free(interplabel);
> 788 #endif
> 789 VFS_UNLOCK_GIANT(vfslocked);
> 790 return (error);
> 791 }
> 792
> 793 int
> (kgdb) frame 13
> #13 0x00000000c0151b3c in kern_execve (td=0xfffff80077c61560, args=0xeea6f670, mac_p=0x0) at ../../../kern/kern_exec.c:250
> 250 error = do_execve(td, args, mac_p);
> (kgdb) list
> 245 return (ERESTART); /* Try again later. */
> 246 }
> 247 PROC_UNLOCK(p);
> 248 }
> 249
> 250 error = do_execve(td, args, mac_p);
> 251
> 252 if (p->p_flag & P_HADTHREADS) {
> 253 PROC_LOCK(p);
> 254 /*
> (kgdb) frame 14
> #14 0x00000000c0151a78 in execve (td=0xfffff80077c61560, uap=0xeea6f8c0) at ../../../kern/kern_exec.c:185
> 185 error = kern_execve(td, &args, NULL);
>
> Kris
>
More information about the freebsd-current
mailing list