public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: 2.5.67-mm1 cause framebuffer crash at bootup
@ 2003-04-09 23:00 Petr Vandrovec
  0 siblings, 0 replies; 9+ messages in thread
From: Petr Vandrovec @ 2003-04-09 23:00 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: linux-kernel

On  9 Apr 03 at 15:55, Randy.Dunlap wrote:
> On Wed, 9 Apr 2003 23:52:51 +0200 "Petr Vandrovec" <VANDROVE@vc.cvut.cz> wrote:
> 
> | On  9 Apr 03 at 14:45, Randy.Dunlap wrote:
> | >  [<c029367a>] fbcon_set_display+0x33a/0x4c0
> | >  [<c01f8031>] set_inverse_transl+0x41/0xa0
> | 
> | Can you remove 'printk(KERN_DEBUG "%s: %ux%u, vt=%u, init=%u, ...'
> | from fbcon_set_display (drivers/video/console/fbcon.c)? On my system
> | printk(KERN_DEBUG) does not print nothing to the console even before
> | syslogd is started (one wonders why...), but on your system it apparently
> | triggers output to console before video mode was set.
> 
> Yes, I did that and can report that this one printk() kills it for me.
> I.e., it boots and runs fine with this line commented out, but when I
> put it back and rebuild, that kernel gets the same oops during boot.

Thanks. It looks like that I missed that there is still large window where
we use fbcon before mode is set on underlying fbdev, even after reorg.
I did at console level. For now it is easier to remove this printk...
                                                            Petr
                                                            


^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: 2.5.67-mm1 cause framebuffer crash at bootup
@ 2003-04-09 21:52 Petr Vandrovec
  2003-04-09 22:55 ` Randy.Dunlap
  0 siblings, 1 reply; 9+ messages in thread
From: Petr Vandrovec @ 2003-04-09 21:52 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: linux-kernel

On  9 Apr 03 at 14:45, Randy.Dunlap wrote:
>  [<c029367a>] fbcon_set_display+0x33a/0x4c0
>  [<c01f8031>] set_inverse_transl+0x41/0xa0

Can you remove 'printk(KERN_DEBUG "%s: %ux%u, vt=%u, init=%u, ...'
from fbcon_set_display (drivers/video/console/fbcon.c)? On my system
printk(KERN_DEBUG) does not print nothing to the console even before
syslogd is started (one wonders why...), but on your system it apparently
triggers output to console before video mode was set.
                                            Thanks,
                                                Petr Vandrovec
                                                vandrove@vc.cvut.cz
                                                


^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: 2.5.67-mm1 cause framebuffer crash at bootup
@ 2003-04-09 20:58 Petr Vandrovec
  2003-04-09 21:45 ` Randy.Dunlap
  0 siblings, 1 reply; 9+ messages in thread
From: Petr Vandrovec @ 2003-04-09 20:58 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: linux-kernel

[As this one is matroxfb only, I removed others...]

> I can reproduce the problem with the earlier-keyboard-init.patch, but if
> I reverse it, I get this [using Petr's 2.5.66-bk12 mga patch].  Is that the
> right one to use?  do I need to use any kernel command line options with it?
> Matrox G400 dual-head capable, but only using one of them.
> 
> 
> matroxfb: Matrox G450 detected
> matroxfb: MTRR's turned on
> matroxfb: 640x480x8bpp (virtual: 640x26208)
> matroxfb: framebuffer at 0xEC000000, mapped to 0xf8805000, size 16777216
> <1>Unable to handle kernel NULL pointer dereference at virtual address 00000000
>  printing eip:
> 00000000
> *pde = 00000000

It should not happen. Did not you get some rejects while patching?

> Oops: 0000 [#1]
> CPU:    0
> EIP:    0060:[<00000000>]    Not tainted
> EFLAGS: 00010246
> EIP is at 0x0
> eax: c04b77c8   ebx: f7f9fccc   ecx: c1ada17f   edx: c04b6f40
> esi: ffffffff   edi: 00000030   ebp: 00000030   esp: f7f9fc78
> ds: 007b   es: 007b   ss: 0068
> Process swapper (pid: 1, threadinfo=f7f9e000 task=f7f9c080)
> Stack: c0292c1e c04b6f40 f7f9fccc ffffffff ffffffff 00000000 00000000 00000400 
>        00000008 00000001 000000ff 0000000c c04b6f40 00000030 c1a41480 c0292e65 
>        c1a41480 c04b6f40 f7f9fccc 00000030 c00bb1c0 00000000 00000108 00000180 
> Call Trace:
>  [<c0292c1e>] putcs_aligned+0x16e/0x1b0
>  [<c0292e65>] accel_putcs+0xc5/0xf0
>  [<c02939ce>] fbcon_putcs+0x7e/0x90

If your kernel binary is simillar to mine, it looks like that 
fbops->fb_imageblit was NULL. It should not happen, as matroxfb's 
fb_imageblit should point either to no_imageblit (which currenlty does 
nothing, but it should complain loudly) or to cfb_imageblit (which 
paints character) or matroxfb_imageblit (which should paint character too).

But from call trace it looks like that some printk() error got
triggered on your config. Can you try booting with serial console? 
Do you see penguins on the screen, or not? 

Or remove body from drivers/video/console/fbcon.c:check_vc() - it should
is not triggered on Linus kernels, but maybe -mm1 moved something around.
It looks like that it is time to download -mm1 :-(
                                            Thanks,
                                                Petr Vandrovec
                                                vandrove@vc.cvut.cz
                                                


^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: 2.5.67-mm1 cause framebuffer crash at bootup
@ 2003-04-09 13:51 Chuck Ebbert
  0 siblings, 0 replies; 9+ messages in thread
From: Chuck Ebbert @ 2003-04-09 13:51 UTC (permalink / raw)
  To: Petr Vandrovec; +Cc: linux-kernel


> Unfortunately, as proven by i2c, kobjects infrastructure does not like if
> you reference non-existing bus type before it is registered.


  AFAICT sysfs itself sort of has this problem in 2.5.66 -- it tries
to register itself as a filesystem before the set 'fs' is registered.
It retries later and succeeds but I could never figure out if that was
by design or accident. 8)

  This patch helps find some of these problems but I don't think it will
help in this case:


diff -ur --exclude-from=/home/me/exclude linux-2.5.66-ref/lib/kobject.c linux-2.5.66-uni/lib/kobject.c
--- linux-2.5.66-ref/lib/kobject.c	Tue Mar  4 22:29:36 2003
+++ linux-2.5.66-uni/lib/kobject.c	Sat Mar 29 20:43:26 2003
@ -57,10 +57,15 @
 				sysfs_remove_dir(kobj);
 		}
 	}
+	if (error) {
+		printk("Badness name:%s, err:%d, set:%s\n",
+		       kobj->name, error,
+		       kobj->kset ? kobj->kset->kobj.name : "<NULL>");
+		WARN_ON(1);
+	}
 	return error;
 }
 
-
 static inline struct kobject * to_kobj(struct list_head * entry)
 {
 	return container_of(entry,struct kobject,entry);
@ -149,7 +154,6 @
 	if (kobj) {
 		kobject_init(kobj);
 		error = kobject_add(kobj);
-		WARN_ON(error);
 	} else
 		error = -EINVAL;
 	return error;

--
 Chuck

^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: 2.5.67-mm1 cause framebuffer crash at bootup
@ 2003-04-09 12:24 Petr Vandrovec
  0 siblings, 0 replies; 9+ messages in thread
From: Petr Vandrovec @ 2003-04-09 12:24 UTC (permalink / raw)
  To: Helge Hafting; +Cc: linux-kernel, linux-mm, jsimmons, akpm

On  9 Apr 03 at 11:42, Helge Hafting wrote:
> 
> 2.5.67-mm1 works if I drop framebuffer support completely.

Now when you sent full backtrace - it looks to me like that fbdev
drivers are initialized before pci subsystem in -mm1. Unfortunately,
as proven by i2c, kobjects infrastructure does not like if you reference
non-existing bus type before it is registered. 

Can you try reverting _initcall changes? Although I see no reason
why it should matter, it is clear that pci subsystem is a bit unhappy.
Maybe it is caused by driver or device which is probed before fbdev?
                                                    Petr Vandrovec
                                                    vandrove@vc.cvut.cz

P.S.: And what about change in drivers/pci/probe.c, which does

-  if (base && base <= limit) {
+  if (base <= limit) {


> Here is the printed backtrace for the radeon case, the matrox case was 
> similiar:
> 
> <a few lines scrolled off screen>
> pcibios_enable_device
> pci_enable_device_bars
> pci_enable_device
> radeonfb_pci_register
> sysfs_new_inode
> pci_device_probe
> bus_match
> device_attach
> bus_add_device
> kobject_add
> device_add
> pci_bus_add_devices
> pci_bus_add_devices
> pci_scan_bus_parented
> pcibios_scan_root
> pci_legacy_init
> do_initcalls
> init_workqueues
> init+0x36
> init+0x00
> kernel_thread_helper
> code: Bad EIP value <0>Kernel panic:attempt to kill init!


^ permalink raw reply	[flat|nested] 9+ messages in thread
* 2.5.67-mm1
@ 2003-04-08 11:22 Andrew Morton
  2003-04-09  9:42 ` 2.5.67-mm1 cause framebuffer crash at bootup Helge Hafting
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Morton @ 2003-04-08 11:22 UTC (permalink / raw)
  To: linux-kernel, linux-mm


http://www.zip.com.au/~akpm/linux/patches/2.5/2.5.67-mm1.gz

  Will appear sometime at

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.67/2.5.67-mm1/


. sparc64 is now using gcc-3.x, so there is a patch here to make gcc-2.95
  the minimum required version.

. A few rmap-speedup patches reduce the rmap CPU tax by 25-30% on a P4

. Various other cleaups, speedups and fixups.




Changes since 2.5.66-mm3:


 linus.patch

 Latest from Linus

-monotonic-clock-hangcheck.patch
-warning-fixes-1.patch
-bio_kmap-fix.patch
-file-limit-checking-cleanup.patch
-tmpfs-1-use-generic_write_checks.patch
-tmpfs-2-remove-shmem_readpage.patch
-tmpfs-3-user-generic_file_llseek.patch
-tmpfs-4-use-mark_page_accessed.patch
-tmpfs-4-use-cond_resched.patch
-tmpfs-6-percentile-sizing.patch
-stat_t-larger-dev_t.patch
-misc.patch
-smp_call_function-barrier.patch
-adaptec-del_timer_sync.patch
-3c59x-980-support.patch
-fadvise-flush-data.patch
-console-scrollback.patch
-devfs-rescan_partitions-fix.patch
-umsdos-fixes.patch
-exp_parent-locking-fix.patch
-real_lookup-race-fix.patch
-remove-dparent_lock.patch
-jbd_expect.patch
-jbd-assert-io-failure-fix.patch
-ext3_mark_inode_dirty-speedup.patch
-ext3_mark_inode_dirty-less-calls.patch
-ext3-handle-cache.patch
-jbd-handle-journal-io-errors.patch

 Merged

+kgdb-ga-up-warning-fix.patch

 Fix a kgb warning

+gcc-295-required.patch

 Require gcc-2.95 or higher.

+dmfe-kfree_skb-fix.patch

 Fix a goes-BUG bug in dmfe.c.

+ppc64-update.patch

 Stuff from Anton.

+remove-nr_reverse_maps.patch

 Remove /proc/meminfo:ReverseMaps.   It is measurably expensive.

+rmap-search-speedup.patch

 Warm up the rmap code.

+rmap-tweaks.patch

 Ditto

+page-lock-is-spin_lock.patch

 Make mapping->page_lock a spinlock.  It is faster than an rwlock.

+file_lock-spinlock.patch

 Ditto file->file_lock

+paride-remove-blk_queue_empty.patch

 Leftovers from the blk_queue_empty() removal

+as-use-queue_empty.patch

 Anticipatory scheduler rework

-fremap-all-mappings.patch

 Accidentally dropped

-objrmap-2.5.62-5.patch
-hugh-04-page_convert_anon-ENOMEM.patch
-hugh-05-page_convert_anon-unlocking.patch
-hugh-06-wrap-below-vm_start.patch
-hugh-07-objrmap-page_table_lock.patch
-hugh-08-rmap-comments.patch
-hugh-11-fix-unuse_pmd-fixme.patch
-tmpfs-blk_congestion_wait-fix.patch
-page_convert_anon-locking-fix.patch
-objrmap-sort-vma-list.patch
-stale-inode-fix.patch

 All rolled together, into objrmap.patch

+objrmap.patch

 Partial objrmap.

+32bit-dev_t-nfs-export-fix.patch

 Make NFS work better with 32-bit dev_t

+jbd-warning-fix.patch

 Fox a compile warning

+earlier-keyboard-init.patch

 Init the keyboard earlier, so sysrq is available

+epoll-cross-thread-deletion-fix.patch

 epoll fix

+mbcache-missing-brelse.patch

 Extended attribute leak fix

+nfs-read-corruption-fix.patch

 NFS read fix from Trond

+MS_ASYNC-more-async.patch

 Make msync(MS_ASYNC) just dirty the pages, and not start any I/O

+tasklist_lock-docco-fix.patch

 Commentary corrections

+dynamic-hd_struct-allocation.patch
+dynamic-hd_struct-allocation-fixes.patch

 Dynamically allocate struct hd_struct, to save RAM with 4000 disks.

+remove-flush_page_to_ram.patch

 Remove flush_page_to_ram()

+nfs-resource-management.patch

 Make NFS play more nicely with the VM/VFS memory balancing.

+compound-page-fix.patch

 Fix futex-in-hugepage, perhaps.

+xfs-dev_t-warning-fix.patch

 Compile warning fix for 32-bit dev-t

+fadvise-file-leak.patch

 fadvise() can leak a file ref



All 97 patches:

linus.patch

mm.patch
  add -mmN to EXTRAVERSION

kgdb-ga.patch
  kgdb stub for ia32 (George Anzinger's one)

kgdb-ga-warning-fix.patch
  -mm traps.c warning

kgdb-ga-up-warning-fix.patch

wait_on_buffer-debug-fix.patch
  fix wait_on_buffer() debug code

tty-shutdown-race-fix.patch
  fix tty shutdown race

ppa-null-pointer-fix.patch

gcc-295-required.patch
  Enforce gcc-2.95 as the minimum compiler requirement

dmfe-kfree_skb-fix.patch
  dmfe: don't free skb with local interrupts disabled

config_spinline.patch
  uninline spinlocks for profiling accuracy.

ppc64-reloc_hide.patch

ppc64-pci-patch.patch
  Subject: pci patch

ppc64-aio-32bit-emulation.patch
  32/64bit emulation for aio

ppc64-scruffiness.patch
  Fix some PPC64 compile warnings

ppc64-update.patch
  ppc64 update

sym-do-160.patch
  make the SYM driver do 160 MB/sec

config-PAGE_OFFSET.patch
  Configurable kenrel/user memory split

ptrace-flush.patch
  cache flushing in the ptrace code

buffer-debug.patch
  buffer.c debugging

warn-null-wakeup.patch

ext3-truncate-ordered-pages.patch
  ext3: explicitly free truncated pages

reiserfs_file_write-5.patch

rcu-stats.patch
  RCU statistics reporting

ext3-journalled-data-assertion-fix.patch
  Remove incorrect assertion from ext3

nfs-speedup.patch

nfs-oom-fix.patch
  nfs oom fix

sk-allocation.patch
  Subject: Re: nfs oom

nfs-more-oom-fix.patch

rpciod-atomic-allocations.patch
  Make rcpiod use atomic allocations

linux-isp.patch

isp-update-1.patch

remove-nr_reverse_maps.patch
  remove nr_reverse_maps VM accounting

rmap-search-speedup.patch
  speed up rmap searching

rmap-tweaks.patch
  misc rmap speedups

page-lock-is-spin_lock.patch
  Replace the radix-tree rwlock with a spinlock

file_lock-spinlock.patch
  convert file_lock to a spinlock

kblockd.patch
  Create `kblockd' workqueue

paride-remove-blk_queue_empty.patch
  fix up the paride driver for blk_queue_empty() removal

as-iosched.patch
  anticipatory I/O scheduler

as-np-reads-1.patch
  AS: read-vs-read fixes

as-np-reads-2.patch
  AS: more read-vs-read fixes

as-predict-data-direction.patch
  as: predict direction of next IO

as-remove-frontmerge.patch
  AS: remove frontmerge tunable

as-misc-cleanups.patch
  AS: misc cleanups

as-minor-tweaks.patch
  AS: tuning and tweaks

as-remove-stats.patch
  AS: remove statistics

as-locking-fix.patch
  AS: Fix minor race

as-disable-thinktime.patch

as-use-queue_empty.patch
  AS: Use the queue_empty API

cfq-2.patch
  CFQ scheduler, #2

unplug-use-kblockd.patch
  Use kblockd for running request queues

objrmap.patch
  object-based rmap

32bit-dev_t-nfs-export-fix.patch
  Fix nfsd exports with big dev_t

sched-2.5.64-D3.patch
  sched-2.5.64-D3, more interactivity changes

scheduler-tunables.patch
  scheduler tunables

show_task-free-stack-fix.patch
  show_task() fix and cleanup

jbd-warning-fix.patch
  JBD pasting warning fix

yellowfin-set_bit-fix.patch
  yellowfin driver set_bit fix

htree-nfs-fix.patch
  Fix ext3 htree / NFS compatibility problems

task_prio-fix.patch
  simple task_prio() fix

earlier-keyboard-init.patch
  earlier keyboard init

panic-on-oops.patch
  Allow panics and reboots at oops time.

epoll-cross-thread-deletion-fix.patch
  epoll cross-thread deletion fix

mbcache-missing-brelse.patch
  Missing brelse() in ext2/ext3 extended attribute code

nfs-read-corruption-fix.patch
  NFS read corruption fix

MS_ASYNC-more-async.patch
  Make msync(MS_ASYNC) no longer start the I/O

tasklist_lock-docco-fix.patch
  task_lock commentary fixes

posix-timer-hang-fix.patch
  posix_timer hang fix

dynamic-hd_struct-allocation.patch
  Allocate hd_structs dynamically

dynamic-hd_struct-allocation-fixes.patch
  dynamic allocation of hd_structs

remove-flush_page_to_ram.patch
  Remove flush_page_to_ram()

slab_store_user-large-objects.patch
  slab debug: perform redzoning against larger objects

nfs-resource-management.patch
  Subject: Resource management for NFS...

compound-page-fix.patch

htree-nfs-fix-2.patch
  htree nfs fix

put_task_struct-debug.patch

percpu_counter.patch
  percpu_counters: approximate but scalabel counters

blockgroup_lock.patch
  blockgroup_lock: hashed spinlocks for ext2 and ext3 blockgroup locking

ext2-no-lock_super-ng.patch

ext2-ialloc-no-lock_super-ng.patch

dev_t-32-bit.patch
  [for playing only] change type of dev_t

dev_t-remove-B_FREE.patch
  dev_t: eliminate B_FREE

sg-dev_t-fix.patch
  32-bit dev_t fix for sg

xfs-dev_t-warning-fix.patch
  xfs dev_t printk warning fix

init-sections-in-kallsyms.patch
  Put all functions in kallsyms

aggregated-disk-stats.patch
  Aggregated disk statistics

fadvise-file-leak.patch
  fix file leak in fadvise()

oops-dump-preceding-code.patch
  i386 oops output: dump preceding code

usb-disconnect-crash-fix.patch
  Subject: Re: [linux-usb-devel] timer hang with current 2.5 BK

conntrack-use-after-free-fix.patch
  fix use-after-free in ip_conntrack

ext3-no-bkl.patch

journal_dirty_metadata-speedup.patch

journal_get_write_access-speedup.patch

ext3-concurrent-block-inode-allocation.patch
  Subject: [PATCH] concurrent block/inode allocation for EXT3

ext3-concurrent-block-allocation-fix-1.patch

ext3-concurrent-block-allocation-hashed.patch
  Subject: Re: [PATCH] concurrent block/inode allocation for EXT3




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2003-04-09 22:49 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-09 23:00 2.5.67-mm1 cause framebuffer crash at bootup Petr Vandrovec
  -- strict thread matches above, loose matches on Subject: below --
2003-04-09 21:52 Petr Vandrovec
2003-04-09 22:55 ` Randy.Dunlap
2003-04-09 20:58 Petr Vandrovec
2003-04-09 21:45 ` Randy.Dunlap
2003-04-09 13:51 Chuck Ebbert
2003-04-09 12:24 Petr Vandrovec
2003-04-08 11:22 2.5.67-mm1 Andrew Morton
2003-04-09  9:42 ` 2.5.67-mm1 cause framebuffer crash at bootup Helge Hafting
     [not found]   ` <PAO-EX01DJb0LxA56iY0000151b@pao-ex01.pao.digeo.com>
2003-04-09 20:30     ` Randy.Dunlap

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox