Re: [Dri-devel] Fault in radeon DRM module

2003-09-08 Thread Linus Torvalds

On Sun, 7 Sep 2003, Jon Smirl wrote:

 I'm getting this with standalone Mesa not DRI. Can a someone more familar with
 the R200 kernel DRM driver give me a clue as to what is not being set up
 correctly? I die in RADEON_PURGE_CACHE() in radeon_do_cp_start().

More precisely:

 Unable to handle kernel paging request at virtual address f8a6cffc
  printing eip:
 f8a579f1
 *pde = 01b99067
 *pte = 
 Oops: 0002 [#1]
 CPU:1
 EIP:0060:[f8a579f1]Not tainted
 EFLAGS: 00010286
 EIP is at radeon_do_cp_start+0x9b/0x1f1 [radeon]
 eax: 000b   ebx: 0003   ecx: c02f18d4   edx: 5c50
 esi: f8a6d000   edi:    ebp: f6ae6800   esp: f5959f24
 ds: 007b   es: 007b   ss: 0068
 Process sample_server (pid: 2045, threadinfo=f5958000 task=ec6f06b0)
 Stack: f8a649a3 0018 000a 0400 f8a6496c f719d000 f6ae6800 f5c3ce80 
f5c3ce80 f8a591ea f6ae6800 f8a61b29 f8a6273e f5959f88 f719d000 0041 
f5c4a100 f8a53826 f6de5598 f5c3ce80 6441  0041 e200 
 Call Trace:
  [f8a591ea] radeon_cp_start+0xe1/0xfc [radeon]
  [f8a53826] radeon_ioctl+0xce/0x13d [radeon]
  [c016af59] sys_ioctl+0xf6/0x274
  [c010b241] sysenter_past_esp+0x52/0x71
 
 Code: c7 04 be 0b 0d 00 00 83 c7 01 21 df c7 04 be 0f 00 00 00 c7 

The code in question is

**  movl   $0xd0b,(%esi,%edi,4) **
add$0x1,%edi
and%ebx,%edi
movl   $0xf,(%esi,%edi,4)

which looks strange. That's not a NULL pointer derefernce, but %edi is -1, 
and %esi is 0xf8a6d000.

As far as I can tell, this is part of OUT_RING() with a value of 0x0d0b. 
It looks like the first OUT_RING() in the function, and it _looks_ like 
ring is %esi, and write is %edi.

In other words, in BEGIN_RING():

ring = dev_priv-ring.start;\
write = dev_priv-ring.tail;\

looks like the ring hasn't been initialized. Which looks unlikely, since 
it's initialized when it is allocated. .

I have no idea how that could happen, but you might put some debugging 
code into BEGIN_RING() to print out if (ring.tail  ~ring.tail_mask) is 
ever non-zero. It shouldn't be.

Linus



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Re: CVS Update: xc (branch: trunk)

2003-09-08 Thread Eric Anholt
On Sun, 2003-09-07 at 07:42, Dieter Nützel wrote:
 Am Samstag, 6. September 2003 23:29 schrieb Eric Anholt:
  On Sat, 2003-09-06 at 14:16, Eric Anholt wrote:
   CVSROOT:  /cvs/dri
   Module name:  xc
   Repository:   xc/xc/
   Changes by:   [EMAIL PROTECTED]   03/09/06 14:16:32
  
   Log message:
 Second test of committing in freedesktop.org CVS.
  
   Modified files:
 xc/xc/:
   test
  
 Revision  ChangesPath
 1.2   +1 -1  xc/xc/test
 
  I've been working with keithp the last couple of days on getting
  dri.freedesktop.org set up.  Anonymous and developer CVS access both
  work, along with cvsup.  Instructions can be found at
  http://dri.freedesktop.org/
 
  As far as I know, only myself, Michel Dänzer, and Keith Whitwell have
  made accounts there so far.  Again, for existing developers without
  accounts there, forward [EMAIL PROTECTED] your ssh dsa key and he
  can set one up for you.
 
 Some progress:
 
 SOURCE/dri-trunk cd xc/
 Directory: /tmp/INSTALL/SOURCE/dri-trunk/xc
 
 dri-trunk/xc cvs update
 protocol error: directory '/cvs/ 
 ri/xc/xc/programs/Xserver/hw/xfree86/os-support' not within root '/cvs/dri'

Not sure what would be going on there.  I just cvs updated as both
anonymous and as a developer, with no problems.  And it was blazing
fast, too.  Actually, what happened with that output there,
/cvs/ri/xc/xc/... not /cvs/dri/xc/xc/...?

-- 
Eric Anholt[EMAIL PROTECTED]  
http://people.freebsd.org/~anholt/ [EMAIL PROTECTED]




---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Dri-devel] r200 glXDestroyContext bug?

2003-09-08 Thread Aleksander Demko

It seems that r200 driver's glXDestroyContext() needs valid Drawable.
In r200GetLock(), DRI_VALIDATE_DRAWABLE_INFO() is called to get a valid
clip rect of target Drawable. It fails if the Drawable is already
destroyed. (for details, see xc/lib/GL/mesa/src/drv/r200 sources in
XFree86).

According to glXDestroyContext() man page, a valid drawable is not
listed as a requirement. Since my GL setup package (gtkglext) often
sends an already destroyed drawable, I get crashes.

Thoughts?

-- 
// [EMAIL PROTECTED] [EMAIL PROTECTED] scopira.org //




---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] r200 glXDestroyContext bug?

2003-09-08 Thread Ian Romanick
Aleksander Demko wrote:

It seems that r200 driver's glXDestroyContext() needs valid Drawable.
In r200GetLock(), DRI_VALIDATE_DRAWABLE_INFO() is called to get a valid
clip rect of target Drawable. It fails if the Drawable is already
destroyed. (for details, see xc/lib/GL/mesa/src/drv/r200 sources in
XFree86).
According to glXDestroyContext() man page, a valid drawable is not
listed as a requirement. Since my GL setup package (gtkglext) often
sends an already destroyed drawable, I get crashes.
That is a bug, but I *think* it is fixed in DRI CVS.  Keith or Michel 
might know better.



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel