Bug 12612 - FireGL V3100 (PCIE) freeze when setting GARTSize to "64"
Summary: FireGL V3100 (PCIE) freeze when setting GARTSize to "64"
Status: RESOLVED WONTFIX
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: high major
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-28 07:22 UTC by Sebastien Valette
Modified: 2010-10-19 15:55 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
the gdb log (6.75 KB, text/plain)
2007-09-28 07:23 UTC, Sebastien Valette
no flags Details
the xorg log (50.94 KB, text/plain)
2007-09-28 07:24 UTC, Sebastien Valette
no flags Details
a screenshot just before freeze (113.07 KB, image/png)
2007-09-28 07:24 UTC, Sebastien Valette
no flags Details
xorg.conf (2.55 KB, text/plain)
2007-09-28 07:26 UTC, Sebastien Valette
no flags Details
the xorg.log with both options (50.95 KB, text/x-log)
2007-10-01 07:43 UTC, Sebastien Valette
no flags Details
the gdb output for the MAT programm (5.33 KB, text/plain)
2007-10-01 09:01 UTC, Sebastien Valette
no flags Details

Description Sebastien Valette 2007-09-28 07:22:15 UTC
tested on xorg driver version 6.7.194:

when setting GARTSize to "64" to avoid memory problems..... memory problems seem to occur :
with "heavy" 3D applications, the display gets corrupt and X hangs, without being able to restart it.

I attach the full gdb log obtained via SSH.
Comment 1 Sebastien Valette 2007-09-28 07:23:15 UTC
Created attachment 11804 [details]
the gdb log
Comment 2 Sebastien Valette 2007-09-28 07:24:02 UTC
Created attachment 11805 [details]
the xorg log
Comment 3 Sebastien Valette 2007-09-28 07:24:46 UTC
Created attachment 11806 [details]
a screenshot just before freeze

here is a screenshot of a pathologic 3D rendering : holes are clearly visible, in the form of "stripes" and corrupted triangles. This artifact is a warning, and if I continue to use the application, X hangs.
Comment 4 Sebastien Valette 2007-09-28 07:26:32 UTC
Created attachment 11807 [details]
xorg.conf
Comment 5 Michel Dänzer 2007-09-29 08:54:27 UTC
Looking at the code, I think PCIe cards need a corresponding Option "PCIAPERSize" "64". The driver should probably handle this more sanely by default...
Comment 6 Sebastien Valette 2007-10-01 06:28:02 UTC
<Quote>
Looking at the code, I think PCIe cards need a corresponding Option
"PCIAPERSize" "64". The driver should probably handle this more sanely by
default... </quote>

thanks for the tip... I replaced GARTSize with PCIAPERSize, and X does not hang anymore, but the memory problem is still here : 

*********************************WARN_ONCE*********************************
File r300_mem.c function r300_mem_alloc line 225
Ran out of GART memory (for 1048576)!
Please consider adjusting GARTSize option.
***************************************************************************

this does not happen on my other ati Radeon Mobility 9600 (AGP). I also tried with both options simultaneously, with no luck.
Comment 7 Michel Dänzer 2007-10-01 06:44:43 UTC
(In reply to comment #6)
> this does not happen on my other ati Radeon Mobility 9600 (AGP). 

Because that's an AGP card.

> I also tried with both options simultaneously, 

That's what I meant by 'corresponding', sorry if it wasn't clear.

> with no luck.

Which of the two problems occurs then? Please attach the log file for this case as well.
Comment 8 Sebastien Valette 2007-10-01 07:41:48 UTC
with both options enabled, I get this message :

*********************************WARN_ONCE*********************************
File r300_mem.c function r300_mem_alloc line 225
Ran out of GART memory (for 1048576)!
Please consider adjusting GARTSize option.
***************************************************************************

using GARTSize usually removes it, no?

sometimes I get:

libGL error: drmMap of framebuffer failed (Cannot allocate memory)
libGL error: reverting to (slow) indirect rendering
but the programm continues

sometimes I get:
"Error: Could not get dma buffer... exiting"
and the programm crashes

Xorg log does not pop any error message, but I join it anyway...
Comment 9 Sebastien Valette 2007-10-01 07:43:27 UTC
Created attachment 11839 [details]
the xorg.log with both options
Comment 10 Michel Dänzer 2007-10-01 08:00:39 UTC
(In reply to comment #8)
> with both options enabled, I get this message :

Weird, the log looks fine.

> libGL error: drmMap of framebuffer failed (Cannot allocate memory)
> libGL error: reverting to (slow) indirect rendering
> but the programm continues
> 
> sometimes I get:
> "Error: Could not get dma buffer... exiting"
> and the programm crashes

And these don't happen without the options?

Does using just Option "GARTSize" "32" work?
Comment 11 Sebastien Valette 2007-10-01 08:08:00 UTC
> 
> And these don't happen without the options?
> 
of course the messages and crashes happen without the options :)
I thought the options were designed to solve these problems, no?

> Does using just Option "GARTSize" "32" work?
> 
same thing.

I tried valgrind on the programm but it hanged my X...
What can I do more to investigate this issue?
Comment 12 Michel Dänzer 2007-10-01 08:18:52 UTC
(In reply to comment #11)
> I thought the options were designed to solve these problems, no?

Just 'Ran out of GART memory', not the others.


> > Does using just Option "GARTSize" "32" work?
> > 
> same thing.

Meaning the above error?


> What can I do more to investigate this issue?

Log in remotely and run the program in gdb or add debugging output to find out why the error occurs.
Comment 13 Sebastien Valette 2007-10-01 09:00:59 UTC
(In reply to comment #12)
> (In reply to comment #11)
> > I thought the options were designed to solve these problems, no?
> 
> Just 'Ran out of GART memory', not the others.

So, there is still something wrong as the "Please consider adjusting GARTSize option." is still present.

> 
> 
> > > Does using just Option "GARTSize" "32" work?
> > > 
> > same thing.
> 
> Meaning the above error?

nothing changes : I still get the warning about GARTSize and the program stills crashes after a while (but works fine on other hardware)

> 
> 
> > What can I do more to investigate this issue?
> 
> Log in remotely and run the program in gdb or add debugging output to find out
> why the error occurs.
> 

Sorry, I am not well trained for gdb. I tried it, but the only message I got was : Program exited with code 0377 (I join the log. My program is called MAT). If you have any suggestion for commands, I'm in.

To sum up things a little bit : 
- My Computer does not hang anymore (good :) )
- But the PCIAPERSize does note solve memory problems


Comment 14 Sebastien Valette 2007-10-01 09:01:44 UTC
Created attachment 11840 [details]
the gdb output for the MAT programm
Comment 15 Michel Dänzer 2007-10-02 00:43:38 UTC
(In reply to comment #13)
> Sorry, I am not well trained for gdb. I tried it, but the only message I got
> was : Program exited with code 0377

You need to set breakpoints in interesting places.

> - But the PCIAPERSize does note solve memory problems

It's not supposed to on its own, it just makes sure the GART table is actually large enough for the corresponding Option "GARTSize".
Comment 16 Sebastien Valette 2007-10-02 07:58:15 UTC
(In reply to comment #15)
> (In reply to comment #13)
> > Sorry, I am not well trained for gdb. I tried it, but the only message I got
> > was : Program exited with code 0377
> 
> You need to set breakpoints in interesting places.

I'm not sure I'm able to do that correctly.  My program uses the Visualization Tool Kit (VTK), and OpenGL commands are invoked inside the library, So the breakpoints won't tell many things, I suppose.
Comment 17 Michel Dänzer 2007-10-02 09:16:46 UTC
(In reply to comment #16)
> My program uses the Visualization Tool Kit (VTK), and OpenGL commands are
> invoked inside the library, So the breakpoints won't tell many things, I
> suppose.

That shouldn't matter for r300_dri.so, where the interesting places should be for this, e.g. where it generates the error about insufficient GART memory.
Comment 18 Sebastien Valette 2007-10-02 09:55:29 UTC
(In reply to comment #17)
> (In reply to comment #16)
> > My program uses the Visualization Tool Kit (VTK), and OpenGL commands are
> > invoked inside the library, So the breakpoints won't tell many things, I
> > suppose.
> 
> That shouldn't matter for r300_dri.so, where the interesting places should be
> for this, e.g. where it generates the error about insufficient GART memory.
> 

OK. When I find what instruction in my programm causes the message (or crash), what command(s) should I type to give you the relevant bits?

Sorry to turn this bug report into a newbie training session....
Comment 19 Alex Deucher 2010-10-19 15:55:11 UTC
This shouldn't be an issue with KMS.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.