Re: Major/Minor Opcodes of failed requests

2016-03-30 Thread Ingo Bürk
Hi Lloyd,

Adam already decoded the opcode for you. Just a quick Google search of
request name + "BadAlloc" gives at least a few results. It might be
worth checking those out. I'm not familiar with GLX, unfortunately.


Regards
Ingo

On 03/30/2016 08:38 PM, Lloyd Brown wrote:
> Ingo,
>
> Thank you for this.
>
> Just for clarification, are we talking about system RAM or video card's RAM?
>
> The reason I ask is this.  Since we're an HPC lab, we do limit system
> memory via memory cgroups, based on what the user's job requested.  But
> since seeing your email, I've gone as high as 64GB in my request,
> verified that the cgroup reflected that, and the problem still
> occurred.  If we're talking about video card's RAM, we don't
> artificially limit it at all, and the card in question is a Tesla K80,
> which has 2 GPUs, and 12GB of video RAM per GPU.
>
> I wonder if there's some other limit going on, that I'm not aware of.
>
> Maybe it makes more sense to contact the Paraview software community, at
> this point.  They may have a better idea where this could be going wrong.
>
> Thanks for the info, though.  It was exactly the sort of thing I was
> hoping for.
>
> Lloyd
>
>
>
>
> On 03/30/2016 12:18 PM, Ingo Bürk wrote:
>> Hi Lloyd,
>>
>> see here: http://www.x.org/wiki/Development/Documentation/Protocol/OpCodes/
>>
>> In your case you are trying to allocate way too much memory. This can
>> happen, for example, if you by accident try to create enormously large
>> pixmaps. Of course there's many things that can cause this. Decoding the
>> opcode will help you debug it.
>>
>>
>> Regards
>> Ingo
>>
>> On 03/30/2016 06:03 PM, Lloyd Brown wrote:
>>> Can anyone help me understand where the error messages, especially the
>>> major and minor opcodes, come from in an error like this one?  Are these
>>> defined by Xorg, by the driver (Nvidia, in this case), or somewhere else
>>> entirely?
>>>
 X Error of failed request:  BadAlloc (insufficient resources for
 operation)
   Major opcode of failed request:  135 (GLX)
   Minor opcode of failed request:  34 ()
   Serial number of failed request:  26
   Current serial number in output stream:  27

>>> So, here's the background.  I'm launching Xorg to manage the GLX context
>>> for some processing applications.  When I use things like glxgears,
>>> glxspheres64 (from the VirtualGL project), glxinfo, or glmark2,
>>> everything works well.  But when I use the actual user application
>>> (pvserver, part of Paraview), it gives me this error shortly after I
>>> connect my paraview frontend, to the pvserver backend.
>>>
>>> Running the pvserver inside gdb, with a "break exit", lets me backtrace
>>> it, but all it really tells me is that it's occurring when the
>>> application is trying to establish it's context.
>>>
>>> I can continue to dink around with it, but if anyone can at least point
>>> me in the right direction, that would be helpful.
>>>
>>> Thanks,
>>>

___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: https://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: Major/Minor Opcodes of failed requests

2016-03-30 Thread Lloyd Brown
Ingo,

Thank you for this.

Just for clarification, are we talking about system RAM or video card's RAM?

The reason I ask is this.  Since we're an HPC lab, we do limit system
memory via memory cgroups, based on what the user's job requested.  But
since seeing your email, I've gone as high as 64GB in my request,
verified that the cgroup reflected that, and the problem still
occurred.  If we're talking about video card's RAM, we don't
artificially limit it at all, and the card in question is a Tesla K80,
which has 2 GPUs, and 12GB of video RAM per GPU.

I wonder if there's some other limit going on, that I'm not aware of.

Maybe it makes more sense to contact the Paraview software community, at
this point.  They may have a better idea where this could be going wrong.

Thanks for the info, though.  It was exactly the sort of thing I was
hoping for.

Lloyd




On 03/30/2016 12:18 PM, Ingo Bürk wrote:
> Hi Lloyd,
>
> see here: http://www.x.org/wiki/Development/Documentation/Protocol/OpCodes/
>
> In your case you are trying to allocate way too much memory. This can
> happen, for example, if you by accident try to create enormously large
> pixmaps. Of course there's many things that can cause this. Decoding the
> opcode will help you debug it.
>
>
> Regards
> Ingo
>
> On 03/30/2016 06:03 PM, Lloyd Brown wrote:
>> Can anyone help me understand where the error messages, especially the
>> major and minor opcodes, come from in an error like this one?  Are these
>> defined by Xorg, by the driver (Nvidia, in this case), or somewhere else
>> entirely?
>>
>>> X Error of failed request:  BadAlloc (insufficient resources for
>>> operation)
>>>   Major opcode of failed request:  135 (GLX)
>>>   Minor opcode of failed request:  34 ()
>>>   Serial number of failed request:  26
>>>   Current serial number in output stream:  27
>>>
>> So, here's the background.  I'm launching Xorg to manage the GLX context
>> for some processing applications.  When I use things like glxgears,
>> glxspheres64 (from the VirtualGL project), glxinfo, or glmark2,
>> everything works well.  But when I use the actual user application
>> (pvserver, part of Paraview), it gives me this error shortly after I
>> connect my paraview frontend, to the pvserver backend.
>>
>> Running the pvserver inside gdb, with a "break exit", lets me backtrace
>> it, but all it really tells me is that it's occurring when the
>> application is trying to establish it's context.
>>
>> I can continue to dink around with it, but if anyone can at least point
>> me in the right direction, that would be helpful.
>>
>> Thanks,
>>

-- 
Lloyd Brown
Systems Administrator
Fulton Supercomputing Lab
Brigham Young University
http://marylou.byu.edu

___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: https://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: Major/Minor Opcodes of failed requests

2016-03-30 Thread Ingo Bürk
Hi Lloyd,

see here: http://www.x.org/wiki/Development/Documentation/Protocol/OpCodes/

In your case you are trying to allocate way too much memory. This can
happen, for example, if you by accident try to create enormously large
pixmaps. Of course there's many things that can cause this. Decoding the
opcode will help you debug it.


Regards
Ingo

On 03/30/2016 06:03 PM, Lloyd Brown wrote:
> Can anyone help me understand where the error messages, especially the
> major and minor opcodes, come from in an error like this one?  Are these
> defined by Xorg, by the driver (Nvidia, in this case), or somewhere else
> entirely?
>
>> X Error of failed request:  BadAlloc (insufficient resources for
>> operation)
>>   Major opcode of failed request:  135 (GLX)
>>   Minor opcode of failed request:  34 ()
>>   Serial number of failed request:  26
>>   Current serial number in output stream:  27
>>
> So, here's the background.  I'm launching Xorg to manage the GLX context
> for some processing applications.  When I use things like glxgears,
> glxspheres64 (from the VirtualGL project), glxinfo, or glmark2,
> everything works well.  But when I use the actual user application
> (pvserver, part of Paraview), it gives me this error shortly after I
> connect my paraview frontend, to the pvserver backend.
>
> Running the pvserver inside gdb, with a "break exit", lets me backtrace
> it, but all it really tells me is that it's occurring when the
> application is trying to establish it's context.
>
> I can continue to dink around with it, but if anyone can at least point
> me in the right direction, that would be helpful.
>
> Thanks,
>

___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: https://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Re: Major/Minor Opcodes of failed requests

2016-03-30 Thread Adam Jackson
On Wed, 2016-03-30 at 10:03 -0600, Lloyd Brown wrote:
> Can anyone help me understand where the error messages, especially the
> major and minor opcodes, come from in an error like this one?  Are these
> defined by Xorg, by the driver (Nvidia, in this case), or somewhere else
> entirely?

The major opcode is split in two ranges.  Major opcodes from 0 to 127
are reserved for requests in the core protocol.  Major opcodes from 128
to 255 are assigned dynamically to each extension as it is registered;
the minor opcode then determines which extension request it is.

> > X Error of failed request:  BadAlloc (insufficient resources for
> > operation)
> >   Major opcode of failed request:  135 (GLX)

Xlib is polite enough to map the major opcode to the extension here.
You can also see the assignments for a particular server by running
xdpyinfo -queryExtensions.

> >   Minor opcode of failed request:  34 ()

GLX request 34 is X_GLXCreateContextAtrribsARB. The easiest way to look
this up in general is to grep for the request number in the appropriate
extension header file, usually in /usr/include/X11/extensions, but for
GLX it's in /usr/include/GL.

The question, then, is why you'd be getting BadAlloc back from
glXCreateContextAttribsARB().

- ajax
___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: https://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

Major/Minor Opcodes of failed requests

2016-03-30 Thread Lloyd Brown
Can anyone help me understand where the error messages, especially the
major and minor opcodes, come from in an error like this one?  Are these
defined by Xorg, by the driver (Nvidia, in this case), or somewhere else
entirely?

> X Error of failed request:  BadAlloc (insufficient resources for
> operation)
>   Major opcode of failed request:  135 (GLX)
>   Minor opcode of failed request:  34 ()
>   Serial number of failed request:  26
>   Current serial number in output stream:  27
>

So, here's the background.  I'm launching Xorg to manage the GLX context
for some processing applications.  When I use things like glxgears,
glxspheres64 (from the VirtualGL project), glxinfo, or glmark2,
everything works well.  But when I use the actual user application
(pvserver, part of Paraview), it gives me this error shortly after I
connect my paraview frontend, to the pvserver backend.

Running the pvserver inside gdb, with a "break exit", lets me backtrace
it, but all it really tells me is that it's occurring when the
application is trying to establish it's context.

I can continue to dink around with it, but if anyone can at least point
me in the right direction, that would be helpful.

Thanks,

-- 
Lloyd Brown
Systems Administrator
Fulton Supercomputing Lab
Brigham Young University
http://marylou.byu.edu

___
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: https://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s