Bug 124714

Summary: (r128) vnc.so hangs entire system
Product: [Fedora] Fedora Reporter: Radu Cornea <ccradu>
Component: xorg-x11Assignee: X/OpenGL Maintenance List <xgl-maint>
Status: CLOSED CURRENTRELEASE QA Contact: David Lawrence <dkl>
Severity: high Docs Contact:
Priority: medium    
Version: 2CC: alan, davej, k.georgiou, ralfpeter.rohbeck, twaugh
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-12-04 05:50:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 143062    

Description Radu Cornea 2004-05-28 18:38:41 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6)
Gecko/20040510 Epiphany/1.2.4

Description of problem:
On a FC2 system, I configured the native vnc server (vnc.so) to start
from within xorg.conf, like in this example:

http://www.realvnc.com/v4/x0.html

Section "Module"
        ...
        Load "vnc"
EndSection
...
Section "Screen"
        ...
        Option "passwordFile" "/root/.vnc/passwd"
EndSection

When trying to connect with a vnc client, the entire system hangs
(console does not respond, no more connection are accepted, ping does
not answer).

This is with vnc-server 4.0-1.beta4.11.i386, on kernel 2.6.5-1.358,
using a Radeon 7000 VE card.

Using the latest vnc-server from development (4.0-1.beta5.3) still
crashes the system.

On a different machine with an ATI Rage Fury Pro card, if dri is
enabled, with 4.0-1.beta5.3 I get this error:

May 28 10:15:36 mars kernel: [drm:r128_cce_idle] *ERROR* r128_cce_idle
called without lock held
May 28 10:15:36 mars kernel: [drm:r128_cce_reset] *ERROR*
r128_cce_reset called without lock held
May 28 10:15:36 mars kernel: [drm:r128_cce_start] *ERROR*
r128_cce_start called without lock held
May 28 10:15:36 mars kernel: [drm:r128_cce_idle] *ERROR* r128_cce_idle
called without lock held
May 28 10:15:36 mars kernel: [drm:r128_cce_reset] *ERROR*
r128_cce_reset called without lock held
May 28 10:15:36 mars kernel: irq 11: nobody cared! (screaming interrupt?)
May 28 10:15:36 mars kernel: Call Trace:
May 28 10:15:36 mars kernel:  [<021070c9>] __report_bad_irq+0x2b/0x67
May 28 10:15:36 mars kernel:  [<02107161>] note_interrupt+0x43/0x66
May 28 10:15:36 mars kernel:  [<02107327>] do_IRQ+0x109/0x169
May 28 10:15:36 mars kernel:  [<0211af64>] __do_softirq+0x2c/0x73
May 28 10:15:36 mars kernel:  [<021078f5>] do_softirq+0x46/0x4d
May 28 10:15:36 mars kernel:  =======================
May 28 10:15:36 mars kernel:  [<0210737b>] do_IRQ+0x15d/0x169
May 28 10:15:36 mars kernel: 
May 28 10:15:36 mars kernel: handlers:
May 28 10:15:36 mars kernel: [<0221522d>] (usb_hcd_irq+0x0/0x4b)
May 28 10:15:36 mars kernel: Disabling IRQ #11

In this case I am still able to log on remotely and kill the X server.
With dri disabled, vnc works fine (on this machine).



Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. install vnc-server
2. configure vnc loading from xorg.conf like above
3. try to connect using a VNC client
    

Actual Results:  After entering the password, the system hangs.
Console does not answer, no ping replies.


Expected Results:  VNC session should start.

Additional info:

Comment 1 Tim Waugh 2004-05-28 22:48:51 UTC
Have you used vnc.so before successfully with the same hardware? 
Perhaps with FC1?  Trying to find out if this is a regression or has
always failed in this way.

Comment 2 Radu Cornea 2004-05-29 00:31:24 UTC
I have only used native vnc (i.e. vnc.so module) on FC1 with xf4vnc  
                  (http://xf4vnc.sourceforge.net).

I can confirm that vnc also works on the machine with the Radeon 7000
VE also works if "dri" is disabled.

Comment 3 murray lotnicz 2004-06-22 03:30:03 UTC
i have the exact same problem as radu. also tried uninstalling the vnc
and vnc-server rpms and compiled binaries from src at realvnc.com
[version 4]. same results after entering the passwd, machine locks and
is unpingable.

i've used this exact same hardware [laptop and desktop] with fc1 with
vnc4beta without xf4vnc and native X display via vnc.so worked great,
no probs whatsoever. 

Comment 4 Tim Waugh 2004-06-28 09:31:17 UTC
Let's find out which package we have to vary to make the problem go
away, so where know what's causing this issue.

Does the FC1 vnc-server package's vnc.so still have the problem if you
drop it in place?

How about if you use the FC1 kernel?

Comment 5 murray lotnicz 2004-07-02 07:26:45 UTC
hi tim,

same problem using the fc1 vnc-server package
[vnc-server-4.0-0.beta4.3.i386.rpm]. i tried booting to the stock fc1
kernel [kernel-2.4.22-1.2115.nptl] but it failed unable to find
insmod.old. i'm using compiled module-init-tools-3.0 from
http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/ and
ran `make moveold` before compiling. hmm, not sure why this is
crapping out since insmod.old and modprobe.old are also in /sbin. well
it looks like the problem is not specific to the fc2 vnc-server rpm
anyways. i've encountered this problem with a few kernels, stock fc2,
2.6.7rc2 and 2.6.7. my guess is that its related to xorg-X11.

lemme know if any additional info would be helpful. i'll try booting
to the fc1 kernel on my work machine tomorrow.

[root@bluto tmp]# lspci | grep -i vga
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon
Mobility M7 LW [Radeon Mobility 7500]

[root@bluto tmp]# uname -a
Linux bluto 2.6.7 #2 Sat Jun 26 00:08:49 PDT 2004 i686 i686 i386 GNU/Linux

Comment 6 Tim Waugh 2004-07-02 08:58:56 UTC
Changing component -- Mike, if you don't think this belongs to
xorg-x11, feel free to change it to kernel.

Comment 7 Mike A. Harris 2004-07-06 00:54:12 UTC
It appears to be an DRI/DRM related issue.  There are other issues
reported with DRI on R128 hardware also.  I've carbon copied a
few kernel folk for their opinion based on the above errors.

In the mean time, I would recommend disabling DRI by commenting
it out of the X server config file.  DRI isn't useful with VNC
anyway, so there's no real loss.  That will likely prevent the
problem for you for the time being, until a solution is found.

Thanks for the report.

Comment 8 Alan Cox 2004-07-06 15:21:50 UTC
Firstly vnc.so and DRI are not compatible (but in an "I can't see what
happens" kind of way.

For the DRI problem please try switching to the i586 kernel and report
if that makes the bug go away. That helps identify or eliminate a very
common cause of this bug.


Comment 9 Radu Cornea 2004-07-06 20:38:19 UTC
I installed the i586 kernel (kernel-2.6.6-1.435.2.3.i586), but the
problem is still there. The kernel did not crash this time (I was able
to remotely log in), but the error log is full of messages like these:

Jul  6 13:27:18 mars kernel: [drm:r128_cce_idle] *ERROR* r128_cce_idle
called without lock held
Jul  6 13:27:18 mars kernel: [drm:r128_cce_reset] *ERROR*
r128_cce_reset called without lock held
Jul  6 13:27:18 mars kernel: [drm:r128_cce_start] *ERROR*
r128_cce_start called without lock held

I was able to kill the X11 process, but restarting it completely
locked my PC (including remote access).
The uname command still displays i686, even with the i586 kernel (my
processor is an Athlon):
Linux mars 2.6.6-1.435.2.3 #1 Thu Jul 1 09:11:28 EDT 2004 i686 athlon
i386 GNU/Linux
Anything else I should try?
Thanks.

Comment 10 static 2004-08-10 21:12:44 UTC
I have the same problem with an AGP radeon ATI Radeon 9200SE.  This is
a P4 2.4ghz system.  The vnc.so works fine on my FC2 system at
home(nvidia proprietary X
driver). When I go to connect to the system with the Radeon card i get
the login prompt and then the entire system just locks up hard(pings
and keyboard lights
dont work at that point).
 
Disabling DRI in the xorg.conf file fixed the problem for me.  Is
there a way to deal with that automatically or at the minimum include
a README in the vnc-server package that explains it as well as the
valid options for the vnc.so module.

Comment 11 static 2004-08-10 21:15:01 UTC
Is there any other way around this without disabling 3D
acceleration(DRI) on the radeon card?  It is tough trying to make the
decision to have vnc.so work or 3d acceration but not both.

Comment 12 Mike A. Harris 2004-09-01 19:51:48 UTC
As Alan said, vnc doesn't support 3D acceleration.  That shouldn't
cause crashes of course however.  The problem here seems to have
nothing to do with VNC at all IMHO.  It seems entirely to be a
Rage 128 DRI/DRM related issue.  Try not using VNC at all, and
just using Rage 128, and running some GL screensavers and games
and see if it hangs, and if you find the same errors in your
kernel log.

If we can eliminate VNC from the equation entirely, that would
make things much easier to consider.

Comment 13 Mike A. Harris 2004-09-10 05:31:17 UTC
ping

Comment 14 Radu Cornea 2004-09-16 19:03:25 UTC
I have the same problem with an ATI Radeon 7000 card, but worse than
with the r128 (machine locks completely, no answer to ping).

Comment 15 Dave 2004-10-19 18:21:35 UTC
RHEL 3.0 / Dell 2850 rack server

Lockup as described, removal of DRI reference 
from /etc/X11/XF86Config did the trick.

# lspci|grep VGA
0b:0d.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 
QY [Radeon 7000/VE]


Comment 16 Mike A. Harris 2004-12-03 20:28:19 UTC
In reply to comments #14, #15:

The Radeon problems you seem to have experienced, may be similar
in nature to the problem reported in this report, however Radeon
hardware uses the "radeon" driver, and thus the problem is not
the same issue described in this report.  Please query bugzilla
for radeon related bugs, to see if the issue you are having is
already reported for Radeon, and if not, feel free to file a new
bug report for Radeon, including all relevant details and steps
to reproduce, and attaching your X server log, config file, and
/var/log/messages to the new report.

Thanks.

Comment 17 Mike A. Harris 2004-12-04 05:50:59 UTC
It's been quite a number of months since the original reporter
has commented on this bug or responded to comments above, so
I'm wondering if one of our updates has resolved this issue?

Please upgrade to Fedora Core 3, and apply all kernel and
xorg-x11 updates released since the initial OS release.  If the
problem you experienced on Rage 128 still exists in Fedora Core 3,
please file a bug report in X.Org bugzilla located at:

http://bugs.freedesktop.org in the 'xorg' component.

Once you've filed your bug report there, if you paste the URL
here and reopen this report, we will track the issue at X.org
and review any fixes that become available for potential inclusion
in future OS updates.

Setting status to "CURRENTRELEASE" for testing.  Thanks in advance.

Comment 18 static 2004-12-08 21:06:57 UTC
I am not the original poster, but I no longer need to use vnc.so now
that FC3 supports exporting the root desktop using Remote Desktop
(vino).  Vino does not seem to have any issues with DRI enabled.

Comment 19 Radu Cornea 2004-12-08 21:47:22 UTC
Same here, I use vino without any problems so far. Should we close
this bug?

Comment 20 Ralf-Peter Rohbeck 2005-03-30 01:46:33 UTC
i just had this crash with xorg-x11-6.8.1-12.FC3.21 and vnc-4.0-8.
This is on a 2.4 GHz P4 Compaq Presario 8000 with the standard
01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200] (rev 01)
running kernel-smp-2.6.10-1.770_FC3.

When I saw that there's an xorg update available, I also tried with
xorg-x11-6.8.2-1.FC3.13. I also tried this without SMP and kernel-2.6.9-1.667.
No change.

After the first crash I found a
kernel: [drm:radeon_cp_idle] *ERROR* radeon_cp_idle called without lock held
as the last syslog line, but all other tests hung the machine silently.

Disabling DRI fixes it.

If you want more details or want me to run tests please let me know.


Comment 21 Ralf-Peter Rohbeck 2005-03-30 20:37:15 UTC
(In reply to comment #20)
P.S. I'm using the same kernel/xorg-x11/vnc in an older machine with a
00:10.0 VGA compatible controller: ATI Technologies Inc 3D Rage II+ 215GTB
[Mach64 GTB] (rev 9a)
and it works.