Bug 11262 - uvesafb do not work: v86d segfault
Summary: uvesafb do not work: v86d segfault
Status: RESOLVED PATCH_ALREADY_AVAILABLE
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(Other) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_video-other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-07 03:27 UTC by Rus
Modified: 2008-10-06 01:25 UTC (History)
8 users (show)

See Also:
Kernel Version: 2.6.27-rc2
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description Rus 2008-08-07 03:27:39 UTC
Latest working kernel version: 2.6.25.10
Earliest failing kernel version: do not know
Distribution: slackware-current
Hardware Environment: mobo acer ferrari 1100 amd x2 4gb ram RS690M [Radeon X1200]
Software Environment: gcc-4.3.1, Binutils 2.18.50.0.8.20080709
Problem Description:

Steps to reproduce: while booting the box, I've got :

Program v86d tried to access /dev/mem between a0000->110000.
v86d[3362]: segfault at b7f97000 ip 08049885 sp bf9cfba0 error 6 in v86d[8048000+17000]

Can the PAT option or TRICT_DEVMEM influence the uvesafb friver ?
Comment 1 Andrew Morton 2008-08-07 10:41:54 UTC
Can you please test 2.6.26?
Comment 2 Rus 2008-08-07 11:06:23 UTC
I can't because of http://bugzilla.kernel.org/show_bug.cgi?id=11240
Comment 3 Adrian Bunk 2008-08-07 11:43:30 UTC
(In reply to comment #0)
>...

> Steps to reproduce: while booting the box, I've got :
> 
> Program v86d tried to access /dev/mem between a0000->110000.
> v86d[3362]: segfault at b7f97000 ip 08049885 sp bf9cfba0 error 6 in
> v86d[8048000+17000]
> 
> Can the PAT option or TRICT_DEVMEM influence the uvesafb friver ?

Without STRICT_DEVMEM you will obviously never run into this error.

Does it also work correctly with CONFIG_STRICT_DEVMEM=n?
Comment 4 Rus 2008-08-07 14:45:16 UTC
No, as the second check is performed in arch/x86/mm/pat.c:394: "Program %s tried to access /dev/mem between %Lx->%Lx.\n". Seems like the problem is in the pat.c - this check can't be switched off, not by disabling PAT in kernel config, not by booting with "nopat" kernel option.
Comment 5 Adrian Bunk 2008-08-08 05:50:06 UTC
(In reply to comment #4)
> No, as the second check is performed in arch/x86/mm/pat.c:394: "Program %s
> tried to access /dev/mem between %Lx->%Lx.\n". Seems like the problem is in
> the
> pat.c - this check can't be switched off, not by disabling PAT in kernel
> config, not by booting with "nopat" kernel option.

Yes sorry, I was blind.  :-(
Comment 6 Rémi Cardona 2008-10-02 07:16:06 UTC
I'm also getting this error, which slows down kernel boot by about 15~20 seconds.

Is there a patch to apply or a workaround for this bug? (other than disabling uvesafb completely)

Thanks
Comment 7 Suresh B Siddha 2008-10-03 11:34:33 UTC
Seems to be duplicate of http://bugzilla.kernel.org/show_bug.cgi?id=10580, which got fixed with the new version of v86d (0.1.5).
Comment 8 Rémi Cardona 2008-10-03 14:26:36 UTC
@Suresh, I doubt it's the same bug, I'm using v86d 0.1.8, which used to work fine with 2.6.25 and stopped working when I moved to 2.6.26.

Or did this bug somehow reappear in newer kernels?

@Michal, do you know what could be happening?

Thanks
Comment 9 Michal Januszewski 2008-10-03 14:38:15 UTC
Remi, Rus: which backend is your v86d using (lrmi or x86emu)?  Is your system 32 or 64-bit?
Comment 10 Rémi Cardona 2008-10-03 14:44:05 UTC
(In reply to comment #9)
> Remi, Rus: which backend is your v86d using (lrmi or x86emu)?

How do I check that? I have v86d built without the "x86emu" USE flag if that's what you mean.

> Is your system 32 or 64-bit?

I'm using an unstable x86 Gentoo system (gentoo-sources-2.6.26-r1)

Thanks
Comment 11 Michal Januszewski 2008-10-03 15:45:17 UTC
(In reply to comment #10)

> How do I check that? I have v86d built without the "x86emu" USE flag if
> that's
> what you mean.
> 
> > Is your system 32 or 64-bit?
> 
> I'm using an unstable x86 Gentoo system (gentoo-sources-2.6.26-r1)

In that case you're using lrmi (that's the default backend for 32-bit x86).  Could you please try to rebuild your v86d with the x86emu USE flag and see whether this changes anything?
Comment 12 Rémi Cardona 2008-10-04 03:26:49 UTC
(In reply to comment #11)
> In that case you're using lrmi (that's the default backend for 32-bit x86). 
> Could you please try to rebuild your v86d with the x86emu USE flag and see
> whether this changes anything?

Rebuilt with USE=x86emu, rebuilt the kernel, no change...

[...]
uvesafb: Intel Corporation, Intel(r)852GM/852GME/855GM/855GME Graphics Controller, Hardware Version 0.0, OEM: Intel(r)852GM/852GME/855GM/855GME Graphics Chip Accelerated VGA BIOS, VBE v3.0
uvesafb: VBIOS/hardware supports DDC2 transfers
uvesafb: monitor limits: vf = 60 Hz, hf = 49 kHz, clk = 68 MHz
uvesafb: scrolling: redraw
Switched to high resolution mode on CPU 0
v86d[335]: segfault at b808c811 ip 0804871e sp bfacf0d0 error 7 in v86d[8048000+17000]
uvesafb: mode switch failed (eax=0x4f02, err=1). Trying again with default timings.
v86d[340]: segfault at b7ec8811 ip 0804871e sp bff0dd10 error 7 in v86d[8048000+17000]
uvesafb: mode switch failed (eax=0x4f02, err=1). Trying again with default timings.
Console: switching to colour frame buffer device 160x48
v86d[343]: segfault at b808d811 ip 0804871e sp bffd2dd0 error 7 in v86d[8048000+17000]
uvesafb: mode switch failed (eax=0x4f02, err=1). Trying again with default timings.
uvesafb: framebuffer at 0xe8000000, mapped to 0xf8b80000, using 7680k, total 32576k
fb0: VESA VGA frame buffer device
[...]
v86d[346]: segfault at b800d811 ip 0804871e sp bff52d50 error 7 in v86d[8048000+17000]
uvesafb: mode switch failed (eax=0x4f02, err=1). Trying again with default timings.

(I think the last one happens when Gentoo's init script changes the console font.)

Anything else I can do?
Comment 13 Michal Januszewski 2008-10-04 04:20:30 UTC
Remi: you don't have any "Program v86d tried to access /dev/mem.." messages in the kernel log, do you?  If you don't, this is probably a different problem than the one reported by Rus.
Comment 14 Rémi Cardona 2008-10-04 04:34:23 UTC
Indeed, I don't have such a message. Should I open another bug?

Thanks
Comment 15 Michal Januszewski 2008-10-04 08:24:47 UTC
(In reply to comment #14)
> Indeed, I don't have such a message. Should I open another bug?

Please do.  Tracking different issues in a single bug can easily
become a large pain to both the maintainer and the users.
Comment 16 Michal Januszewski 2008-10-04 08:28:30 UTC
It looks like comment #7 might be valid after all.  Rus, can you please try the latest version of v86d?
Comment 17 Rus 2008-10-06 01:25:23 UTC
I've errorenously used git from gentoo, that contained old v86d - tried  2.6.27-rc7 and v0.1.8 - all is working great. Thanks All.

Note You need to log in before you can comment on or make changes to this bug.