Skip to contentSkip to conversation

Fault 26?

Linux-ia64 Applied Bill Nottingham 4 participants 5 messages Dec 5, 2000 – Dec 8, 2000

lore
Share & tools
lore
#0 lore raw
Quoted 7 lines · Bill Nottingham
Quoted 5 lines

Bill> What is fault type 26? I'm getting a few of these recently.

It's the "NaT consumption fault". Either buggy code is trying to eat a NaT value or something else goes wrong and a NaT value is created when it shouldn't be.

Hm. We're getting it (in cpp) when building the kernel.

Also occasionally in ld, rpm, find, etc.

Bill

#1 lore raw
Quoted 5 lines · David Mosberger

Bill> What is fault type 26? I'm getting a few of these recently.

It's the "NaT consumption fault". Either buggy code is trying to eat a NaT value or something else goes wrong and a NaT value is created when it shouldn't be.

It's happening in strcpy(), of all places, with two seemingly valid arguments.

Bill

#2 lore raw
In reply to Bill Nottingham
Quoted 9 lines · Bill Nottingham
Quoted 5 lines · David Mosberger

Bill> What is fault type 26? I'm getting a few of these recently.

It's the "NaT consumption fault". Either buggy code is trying to eat a NaT value or something else goes wrong and a NaT value is created when it shouldn't be.

It's happening in strcpy(), of all places, with two seemingly valid arguments.

Here's a patch that should fix it. The bug was in a recovery code that was highly unlikely to be ever executed, hence it passed unnoticed for so long :-)

2000-12-07 Dan Pop <[email protected]>

* sysdeps/ia64/strcpy.S: fix a bug in a recovery code sequence

strcpy.S renamed from strcpy.S.old +1 -1
@@ -120,7 +120,7 @@
 	br.ret.sptk.many b0
 .recovery2:
 	add	tmp = -8, asrc ;;
-	ld8	r[MEMLAT] = [tmp]
+	ld8	r[0] = [tmp]
 	br.cond.sptk .back2
 .recovery3:
 	add	tmp = -(MEMLAT + 1) * 8, src ;;

Thanks to David Mosberger for investigating the problem.

Dan

#3 lore raw
In reply to Bill Nottingham
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Dan Pop

Dan> Thanks to David Mosberger for investigating the problem.

Bill did all the hard work, actually.

Thanks for the fix!

	--david
Applied
#4 lore raw
In reply to Bill Nottingham
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Dan" = Dan Pop <[email protected]> writes:

Quoted 8 lines · Bill Nottingham
Quoted 8 lines

David Mosberger ([email protected]) said: > Bill> What is fault type 26? I'm getting a few of these recently. > > It's the "NaT consumption fault". Either buggy code is trying to eat > a NaT value or something else goes wrong and a NaT value is created > when it shouldn't be.

It's happening in strcpy(), of all places, with two seemingly valid arguments.

Dan> Here's a patch that should fix it. The bug was in a recovery Dan> code that was highly unlikely to be ever executed, hence it Dan> passed unnoticed for so long :-)

Great

I have applied this to my tree and asked Ulrich to apply it to the official tree.

Jes