From: Vince Weaver <vince@xxxxxxxxxx> Date: Thu, 18 Jan 2007 13:33:15 -0500 (EST) > > I am running Linux 2.6.20-rc5 on an UltraSparc T1 (Niagara) with 24 > threads. > > When trying to compile gcc-4.2-20070117 gcc snapshot from scratch, the > following BUG() happens: What distribution and version are you running? I tried to dump the code at address 0x1a368 of the /bin/sh binary running on Ubuntu Dapper and it didn't show a code location which could trigger this code path. > The relevant code is: > > 409 /* If we took a ITLB miss on a non-executable page, catch > 410 * that here. > 411 */ > 412 if ((fault_code & FAULT_CODE_ITLB) && !(vma->vm_flags & VM_EXEC)) { > 413 BUG_ON(address != regs->tpc); > 414 BUG_ON(regs->tstate & TSTATE_PRIV); > 415 goto bad_area; > 416 } > > What's the next step in tracking down what's going on? Try to print out the "fault_code", "address", and regs->tpc value when this triggers. I think the thread struct is being corrupted by some parallel access and this corrupts the fault state, in particular "fault_code" is garbage. But I can only confirm that theory with the information I've requested above. - To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html