[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: xserver-xorg-video-nouveau: Changes to 'debian-unstable'



On 2012-05-23 21:21 +0200, Maarten Lankhorst wrote:

> Op 23-05-12 21:09, Sven Joachim schreef:
>> On 2012-05-23 20:47 +0200, Maarten Lankhorst wrote:
>>
>> The failing line seems to be this:
>>>
>>> (EE) NOUVEAU(0): Failed to allocate scratch buffer: -22
>>>
>>> aka EINVAL
>>>
>>> Is there anything in dmesg that indicates where it comes from?
>> No.  The message only appears once in the driver's source, though; so I
>> conclude that nouveau_bo_new() must have returned 0 and nouveau_bo_map()
>> returned -EINVAL at the beginning of NVAccelCommonInit().
>>
> Nah, both could have failed.

Huh, indeed.

> It would be interesting to know which of the 2 failed, and where.
>
> 3 probable candidate calls that would fail:
> drmCommandWriteRead in abi16_bo_init called from nouveau_bo_new
> mmap in nouveau_bo_map
> drmCommandWrite in nouveau_bo_wait called from bo_map.

It's mmap in nouveau_bo_map.  Of the parameters passed to it, bo->size
(== 131072) and bo->device->fd (== 15) look innocuous, while
nvbo->map_handle raises some suspicion.  On first investigation GDB
claimed its value had been optimized out(!), so I rebuilt with
DEB_BUILD_OPTIONS=noopt, and now nvbo->map_handle == 4457037824, which
looks a bit large on i386.

Setting AC_SYS_LARGEFILE in configure.ac seems to be necessary, and
hopefully also sufficient.  At least X has started successfully. :-)

Cheers,
       Sven


Reply to: