Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 50395

Summary: badness in kernel preempt
Product: Gentoo Linux Reporter: Mike Diehl <madpenguin8>
Component: [OLD] Core systemAssignee: x86-kernel (DEPRECATED) <x86-kernel>
Status: RESOLVED CANTFIX    
Severity: normal CC: tidoineurope
Priority: High    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Mike Diehl 2004-05-07 13:46:05 UTC
I had this pop up in my dmesg.

---------- [cut here ] --------- [please bite here ] ---------
Kernel BUG at pageattr:106
invalid operand: 0000 [1] PREEMPT SMP 
CPU 0 
Pid: 5773, comm: amarokapp Tainted: P   2.6.5-gentoo
RIP: 0010:[<ffffffff80122635>] <ffffffff80122635>{revert_page+85}
RSP: 0018:00000100326ab460  EFLAGS: 00010282
RAX: 0000000000000098 RBX: 0000010001004968 RCX: 0000010000105098
RDX: 0000010000103000 RSI: ffffffff826c6000 RDI: 0000010000000000
RBP: ffffffff826c6000 R08: 0000010000000000 R09: 8000000000000163
R10: 00000000000000cb R11: 0000000000000000 R12: 8000000000000163
R13: 0000010000105098 R14: 0000000000000001 R15: 8e38e38e38e38e39
FS:  0000002a985c9060(0000) GS:ffffffff804c59c0(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000002a996c6d50 CR3: 0000000000101000 CR4: 00000000000006e0
Process amarokapp (pid: 5773, stackpage=10034751580)
Stack: ffffffff801229bf 0000010001c68e08 00000100010ae7b0 0000000000000000 
       0000000000000000 8000000000000163 ffffffff80122a9d 00000000013b9000 
       00000100010ae7b0 00000100026c6000 
Call Trace:<ffffffff801229bf>{__change_page_attr+831} <ffffffff80122a9d>{change_page_attr+205} 
       <ffffffff8028d860>{agp_generic_destroy_page+176} <ffffffff8028c656>{agp_free_memory+150} 
       <ffffffffa0003a6e>{:nvidia:KernFreeAGPPages+78} <ffffffffa0002931>{:nvidia:nv_free_pages+257} 
       <ffffffffa0020486>{:nvidia:_nv000948rm+118} <ffffffffa000c9b2>{:nvidia:_nv005342rm+150} 
       <ffffffffa000c7d3>{:nvidia:_nv005346rm+187} <ffffffffa000bea4>{:nvidia:_nv005355rm+298} 
       <ffffffffa002524a>{:nvidia:_nv005319rm+1054} <ffffffff801be4ee>{reiserfs_get_block+366} 
       <ffffffff801312ce>{recalc_task_prio+430} <ffffffff801596a5>{mempool_alloc+133} 
       <ffffffff80136ec0>{autoremove_wake_function+0} <ffffffff80136ec0>{autoremove_wake_function+0} 
       <ffffffff802a0ad6>{as_update_arq+38} <ffffffff802a17c7>{as_add_request+231} 
       <ffffffff801596a5>{mempool_alloc+133} <ffffffff80136ec0>{autoremove_wake_function+0} 
       <ffffffff801596a5>{mempool_alloc+133} <ffffffff80136ec0>{autoremove_wake_function+0} 
       <ffffffff80136ec0>{autoremove_wake_function+0} <ffffffff802a0ad6>{as_update_arq+38} 
       <ffffffff802a17c7>{as_add_request+231} <ffffffff80298c67>{__elv_add_request+55} 
       <ffffffff8029c4ec>{__make_request+1388} <ffffffff80247269>{radix_tree_insert+89} 
       <ffffffff8011f903>{pci_map_sg+691} <ffffffff802c0e58>{__ide_dma_begin+40} 
       <ffffffff802c0d2b>{__ide_dma_read+187} <ffffffff802c3a47>{__ide_do_rw_disk+951} 
       <ffffffff80134150>{thread_return+0} <ffffffff80135a4b>{io_schedule+43} 
       <ffffffff801563fb>{__lock_page+203} <ffffffff80136ec0>{autoremove_wake_function+0} 
       <ffffffff80136ec0>{autoremove_wake_function+0} <ffffffff8015644c>{find_get_page+60} 
       <ffffffff8015792c>{filemap_nopage+348} <ffffffff80165ed6>{zap_pmd_range+198} 
       <ffffffffa0024a4b>{:nvidia:rm_ioctl+9} <ffffffffa0001abb>{:nvidia:nv_kern_ioctl+683} 
       <ffffffff80173fc3>{free_pages_and_swap_cache+19} <ffffffffa0000ee9>{:nvidia:nv_kern_vma_release+89} 
       <ffffffff8016afec>{unmap_vma_list+28} <ffffffff8018e16d>{sys_ioctl+541} 
       <ffffffff80110ac4>{system_call+124} 

Code: 0f 0b d4 85 3c 80 ff ff ff ff 6a 00 48 b8 ff ff ff 7f ff ff 
RIP <ffffffff80122635>{revert_page+85} RSP <00000100326ab460>
 <6>artsd[28826]: segfault at 0000000700002487 rip 0000002a9869bc53 rsp 0000002a99ffb040 error 6

I think this has something to do with a change I made to linux-2.6.5-gentoo/sound/oss/emu10k1/main.c

Line 122 has been changed to:
#define EMU10K1_DMA_MASK                0xffffffff	/* DMA buffer mask for pci_alloc_consist */

I edited the file to make my sound work. After I upgraded my system ram from 512M to 1024M my sound card quit working. After rebuilding with the changes to main.c my sound works again.
Comment 1 Greg Kroah-Hartman (RETIRED) gentoo-dev 2004-05-07 16:40:39 UTC
I would not recommend using PREEMPT on x86-64 or with the nvidia driver, both
of which you did :)