Bug 11694 - via drm module ooopses (3D Application segfaults)
Summary: via drm module ooopses (3D Application segfaults)
Status: RESOLVED WORKSFORME
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/other (show other bugs)
Version: XOrg git
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-07-23 04:00 UTC by Matthias Bläsing
Modified: 2007-07-26 11:46 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Matthias Bläsing 2007-07-23 04:00:59 UTC
I've got an issue with the via drm module. I'm running ubuntu Linux with the xserver-xorg-video-via package. The 2D parts works ok, but when trying to run 3D applications, it fails.

I compiled the drm modules from drm cvs source and installed them over the kernel modules. When the via module is installed I get this:

[   48.930391] [drm] Initialized drm 1.1.0 20060810
[   48.945543] [drm] Initialized via 2.11.0 20061227 on minor 0
[   48.945907] ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 20
[   48.949321] [drm] Initialized via 2.11.0 20061227 on minor 1
[   48.962229] agpgart: Found an AGP 3.0 compliant device at 0000:00:00.0.
[   48.962611] agpgart: Xorg tried to set rate=x12. Setting to AGP3 x8 mode.
[   48.962921] agpgart: Putting AGP V3 device at 0000:00:00.0 into 8x mode
[   48.963266] agpgart: Putting AGP V3 device at 0000:01:00.0 into 8x mode
[   48.967489] [drm:via_mem_alloc] *ERROR* Attempt to allocate from uninitialized memory manager.

Then - when I try to run a small Programm, which uses the glx Extension (read: glxgears), the programm segfaults and I get this:

[   87.696000] BUG: unable to handle kernel NULL pointer dereference at virtual address 00000004
[   87.696000]  printing eip:
[   87.696000] c012e00a
[   87.696000] *pde = 00000000
[   87.696000] Oops: 0002 [#1]
[   87.696000] Modules linked in: via drm binfmt_misc nfs nfsd exportfs lockd sunrpc ppdev powernow_k8 cpufreq_powersave cpufreq_conservative cpufreq_ondemand cpufreq_stats freq_table cpufreq_userspace sony_acpi dev_acpi tc1100_wmi pcc_acpi ac battery button video container sbs i2c_ec dock asus_acpi backlight hwmon_vid eeprom i2c_isa skge i2c_dev sr_mod sbp2 ieee1394 lp snd_via82xx gameport snd_ac97_codec ac97_bus snd_mpu401_uart snd_pcm_oss snd_pcm snd_page_alloc snd_mixer_oss snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device snd pcspkr parport_pc parport rtc psmouse soundcore usb_storage libusual shpchp serio_raw i2c_viapro k8temp i2c_core pci_hotplug amd64_agp agpgart tsdev evdev ipv6 ext3 jbd mbcache sg sd_mod ide_cd cdrom sata_via ata_generic libata scsi_mod floppy generic via_rhine mii ehci_hcd uhci_hcd usbcore via82cxxx raid10 raid456 xor raid1 raid0 multipath linear md_mod thermal processor fan dm_mod fbcon tileblit font bitblit softcursor vesafb capability commoncap
[   87.696000] CPU:    0
[   87.696000] EIP:    0060:[<c012e00a>]    Not tainted VLI
[   87.696000] EFLAGS: 00210046   (2.6.20-16-386 #2)
[   87.696000] EIP is at add_wait_queue+0x2a/0x50
[   87.696000] eax: 00200246   ebx: 00000000   ecx: ea0d1ed4   edx: ea0d1ec8
[   87.696000] esi: f621a400   edi: f621a580   ebp: ea0d1f0c   esp: ea0d1ea8
[   87.696000] ds: 007b   es: 007b   ss: 0068
[   87.696000] Process glxgears (pid: 5994, ti=ea0d0000 task=ee07c030 task.ti=ea0d0000)
[   87.696000] Stack: f46d0000 f621a400 ffff339a f8e0a8e7 00000040 ea0d1edc c03a4540 f621a580 
[   87.696000]        00000000 ee07c030 c01186a0 00000000 00000000 00000000 00000000 f621a400 
[   87.696000]        eae46480 f8e1c4a2 ea140200 00000000 00000000 00000000 00000000 ee07c030 
[   87.696000] Call Trace:
[   87.696000]  [<f8e0a8e7>] via_driver_vblank_wait+0x97/0x160 [via]
[   87.696000]  [<c01186a0>] default_wake_function+0x0/0x10
[   87.696000]  [<f8e1c4a2>] drm_wait_vblank+0x212/0x2d0 [drm]
[   87.696000]  [<c012ded0>] autoremove_wake_function+0x0/0x50
[   87.696000]  [<f8e1c290>] drm_wait_vblank+0x0/0x2d0 [drm]
[   87.696000]  [<f8e1a9ee>] drm_ioctl+0xae/0x210 [drm]
[   87.696000]  [<c010209a>] __switch_to+0xaa/0x1d0
[   87.696000]  [<c01156a0>] native_write_cr0+0x0/0x10
[   87.696000]  [<c010643a>] sync_cmos_clock+0x12a/0x140
[   87.696000]  [<f8e1a940>] drm_ioctl+0x0/0x210 [drm]
[   87.696000]  [<c016e339>] do_ioctl+0x69/0x70
[   87.696000]  [<c016e39c>] vfs_ioctl+0x5c/0x270
[   87.696000]  [<c016e622>] sys_ioctl+0x72/0x90
[   87.696000]  [<c0102fc0>] sysenter_past_esp+0x69/0xa9
[   87.696000]  [<c010643a>] sync_cmos_clock+0x12a/0x140
[   87.696000]  =======================
[   87.696000] Code: 90 83 ec 0c 89 7c 24 08 89 c7 89 1c 24 89 74 24 04 83 22 fe 9c 58 fa 66 66 66 90 66 66 66 90 66 66 66 90 66 66 90 8b 1f 8d 4a 0c <89> 4b 04 89 5a 0c 89 79 04 89 0f 50 9d 66 66 66 90 66 66 66 90 
[   87.696000] EIP: [<c012e00a>] add_wait_queue+0x2a/0x50 SS:ESP 0068:ea0d1ea8
[   87.696000]  <3>[drm:drm_release] *ERROR* Device busy: 1 0
Comment 1 Erik Andren 2007-07-23 04:38:01 UTC
Please attach (not pasting into the bug report) a full xorg.conf and your xorg.log.
Also, which version of Ubuntu are you running?
Comment 2 Matthias Bläsing 2007-07-26 11:46:14 UTC
I close this bug, as I noticed I had DisableIRQ activated. I deactivated it and the crashes are gone. As there is also a cd-burner that from time to time seems to cause an IRQ storm and as this seemed to be tied to the activation of X I blamed it on the via driver and deactivated the IRQ. Further testing showed, that accessing the burner shut down the storm.

Please excuse the noise.


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.