Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 47014 - bootsplash-0.6-r13 segmentation fault
Summary: bootsplash-0.6-r13 segmentation fault
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Michal Januszewski (RETIRED)
URL: http://www.bootsplash.org
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-04-06 17:51 UTC by Quequero
Modified: 2004-06-03 14:40 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
My kernel config (kern-2.6.5-bootsplash.bz2,6.43 KB, application/octet-stream)
2004-04-17 03:20 UTC, Quequero
Details
My kernel config, part 2 (kern-2.6.5-bootsplash.bz2,6.39 KB, application/octet-stream)
2004-05-10 06:41 UTC, Quequero
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Quequero 2004-04-06 17:51:57 UTC
Hello all, after emerging bootsplash with kernel 2.6.5 I'm getting a strange error at boot time, anyway bootsplash seems to work fine, but look here please:

blk: queue dedce200, I/O limit 4095Mb (mask 0xffffffff)
bootsplash 3.1.4-2004/02/19: looking for picture.... found (1024x768, 62230 bytes, v3).
bootsplash: status on console 0 changed to on
Unable to handle kernel paging request at virtual address e0b77032
 printing eip:
c026b8e6
*pde = 1edff067
*pte = 00000000
Oops: 0000 [#1]
PREEMPT
CPU:    0
EIP:    0060:[<c026b8e6>]    Not tainted
EFLAGS: 00010202   (2.6.5)
EIP is at splash_renderc+0xe6/0x19e
eax: 00000001   ebx: e0b77032   ecx: dfa19032   edx: 00000000
esi: 00000000   edi: 00000000   ebp: 0000ad55   esp: deaa7d80
ds: 007b   es: 007b   ss: 0068
Process splash.bin (pid: 5478, threadinfo=deaa6000 task=c173c720)
Stack: 00000800 00000010 00000000 ad550000 00000000 00000000 00000001 00000010
       de54e220 c0417ed4 c0417c40 c026bf97 e09e0000 c0417c40 00000007 00000000
       c0417ec5 0000030c 00000019 00000010 00000008 00000010 00000008 e09e0000
Call Trace:
 [<c026bf97>] splash_cursor+0x134/0x1e4
 [<c0264d1f>] fbcon_cursor+0x3bc/0x401
 [<c011444e>] recalc_task_prio+0x90/0x1aa
 [<c01152df>] schedule+0x332/0x59c
 [<c020e301>] invert_screen+0x188/0x1bf
 [<c01221c6>] group_send_sig_info+0x95/0x97
 [<c020bcca>] clear_selection+0x18/0x5d
 [<c020e87c>] hide_cursor+0x2b/0x42
 [<c020eb8c>] redraw_screen+0x1ad/0x1f5
 [<c012229f>] kill_pg_info+0x52/0x54
 [<c020f2a4>] vc_resize+0x3f6/0x505
 [<c026936a>] splash_status+0xfd/0x171
 [<c0269627>] splash_write_proc+0x171/0x445
 [<c0176d75>] proc_file_write+0x0/0x42
 [<c0176dac>] proc_file_write+0x37/0x42
 [<c014a224>] vfs_write+0xd0/0x135
 [<c014a32e>] sys_write+0x42/0x63
 [<c0106d33>] syscall_call+0x7/0xb

Code: 0f b7 13 83 c3 02 f7 c7 40 00 00 00 74 5b 0b 54 24 0c 89 11
 <6>bootsplash 3.1.4-2004/02/19: looking for picture.... found (1024x768, 62230 bytes, v3).
bootsplash: status on console 1 changed to on
bootsplash 3.1.4-2004/02/19: looking for picture.... found (1024x768, 62230 bytes, v3).
bootsplash: status on console 2 changed to on
bootsplash 3.1.4-2004/02/19: looking for picture.... found (1024x768, 62230 bytes, v3).
bootsplash: status on console 3 changed to on
bootsplash 3.1.4-2004/02/19: looking for picture.... found (1024x768, 62230 bytes, v3).
bootsplash: status on console 4 changed to on
bootsplash 3.1.4-2004/02/19: looking for picture.... found (1024x768, 62230 bytes, v3).
bootsplash: status on console 5 changed to on
eth0: link down
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
mtrr: base(0xb0020000) is not aligned on a size(0x180000) boundary
mtrr: 0xb0000000,0x8000000 overlaps existing 0xb0000000,0x800000

is it normal?
Thank you.

Que
Comment 1 Troy Dack 2004-04-12 00:42:18 UTC
Bumping to spock
Comment 2 Michal Januszewski (RETIRED) gentoo-dev 2004-04-12 00:56:13 UTC
Nope, it shouldn't happen. Does this occur at every boot, or just from time to time? Did it happen with pre -r13 bootsplashes? Did it happen with kernels <2.6.5?
Comment 3 Quequero 2004-04-12 12:28:40 UTC
This is happening at every boot, and the error is the same with -r12 and -r13, it seems to happen on kernel 2.6.4-2.6.5 I haven't tested it on kernels < 2.6.4.

Que
Comment 4 Udo Beckmann 2004-04-13 09:35:41 UTC
Same problem here after having upgraded from gentoo-dev-sources-2.6.3-r1 to
gentoo-dev-sources-2.6.5. I'm running bootsplash-0.6-r10.

The error messages don't appear with every boot. But there is another significant difference compared to the old behavior: In the past the splash screen appeared at the very beginning of the boot procedure. Now it's started in the middle of the boot procedure and mixes up the bott messages.  
Comment 5 Michal Januszewski (RETIRED) gentoo-dev 2004-04-14 09:24:52 UTC
Udo: could you try upgrading to -r14 and see if this fixes the delayed splash problem you're experiencing?

As for the oops, I'm still trying to reproduce it on my system. If I succeed, I'll see what I can do to fix it.
Comment 6 Udo Beckmann 2004-04-15 10:34:06 UTC
Same problem with -r14. I tried to remerge an recompile some components
(kernel, bootsplash, hotplug, linux-headers-2.6.5) but couldn't solve it.
The situation now is: When the last init script has finished, the dark purple
scrollable area of the bootsplash window appears in the middle of my screen.
The crash messages are scrolling through the purple area. The rest of the
bootsplash window (i.e. the light purple area including the gentoo script logo)
isn't shown. It's shown on screens 2-6 and also shown on screen 1 when I
switch back to it.
Comment 7 Udo Beckmann 2004-04-15 11:57:56 UTC
BTW: Kernel 2.6.5 doesn't have an initrd configuration option. The gentoo bootsplash HOWTO doesn't cover this case. We possibly only misconfigured our kernel or grub
Comment 8 Udo Beckmann 2004-04-15 12:30:10 UTC
Got It!! It's simply a misconfigured kernel. Let me explain:

This worked with kernel <=2.6.3:

#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
# CONFIG_LBD is not set

I used "make oldconfig" to convert this configuration to a configuration for
my kernel 2.6.5. The result was:

#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_COMPRESSLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_CARMEL is not set
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_LBD is not set

You may notice, there is no longer an option CONFIG_BLK_DEV_INITRD.
Also "make menuconfig" didn't show this option. But after changing
CONFIG_BLK_DEV_RAM=m to CONFIG_BLK_DEV_RAM=y an initrd option became visible.
My config now is
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_COMPRESSLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_CARMEL is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
# CONFIG_LBD is not set

It's working now and it's exactly what the bootsplash HOWTO suggests to do (peinlich, peinlich).
Comment 9 Quequero 2004-04-15 16:20:21 UTC
When I reported this bug, I was using:

CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y

with kernel 2.6.5 and with previous versions, and I'm using this settings right now, but the error is still here... Are you sure it's only this config option that generates this problem?

Que
Comment 10 Udo Beckmann 2004-04-16 00:07:51 UTC
No I'm not sure. I've seen discussions about this problem in the forum.
Different people found different solutions for the problem. Some of them played around with their kernel paramters, some of them recreated their /boot/initrd-* file...

Udo
Comment 11 Michal Januszewski (RETIRED) gentoo-dev 2004-04-17 02:45:08 UTC
Quequero: could you please attach your kernel config here? I'll see if I'm able to reproduce the problem on my system then. 
Comment 12 Quequero 2004-04-17 03:20:23 UTC
Created attachment 29478 [details]
My kernel config

Sure, here it is, and please let me know if you need something else.

Que
Comment 13 Michal Januszewski (RETIRED) gentoo-dev 2004-04-19 09:51:08 UTC
I can't reproduce the problem on my system (with your config file). I'll try to give the bootsplash code a closer look, we'll see if I'm able to find anything that could be causing this issue.
Comment 14 Quequero 2004-04-19 11:20:29 UTC
I can't understand what could be the problem...
Kernel is started with these parameters in GRUB:

title Gentoo
root (hd0,6)
kernel /vmlinuz ro vga=791 video=mtrr,vesa:1024x768 splash=silent initrd=/initrd-1024x768

But I think they are fine, anyway there is that strange memory access... I really don't know, probably it's because video ram is shared with normal ram... 
I really don't know, I'm sorry :(

Que
Comment 15 Michal Januszewski (RETIRED) gentoo-dev 2004-04-19 12:37:28 UTC
Does the problem occur when bootsplash is started in verbose mode (ie. no "splash=silent" in kernel params)? I have only tested your config in verbose, maybe that's why nothing was wrong?
Comment 16 Quequero 2004-04-20 14:07:30 UTC
Nope, same problem without splash=silent image.. The same if I remove if completely from grub, I thought it was KDM (it's irrational, I know ;p)... But I've the same problem...
Browsing google I found a reference to this bug on:
http://qa.mandrakesoft.com/show_bug.cgi?id=8608
An user wrote that this bug happens when he has its wlan card into the slot...
I removed my wlan card and kdm... But it's happening again...
Sob :(

Que
Comment 17 Michal Januszewski (RETIRED) gentoo-dev 2004-04-25 04:59:46 UTC
Ok, I'm unable to reproduce it with the config you posted. Could you send me (please do not post it here on Bugzilla) vmlinux and drivers/video/bootsplash/render.o from you kernel tree, and the initrd you're using?
Comment 18 Quequero 2004-04-25 07:19:59 UTC
Done it!
Please let me know if you need something else.

Que
Comment 19 Michal Januszewski (RETIRED) gentoo-dev 2004-05-09 14:58:29 UTC
Ok, I've done some tests with the latest configs and binary images and here's what I found. The problem is caused by BLK_DEV_INITRD not being set (you need both BLK_DEV_RAM and BLK_DEV_INITRD set to 'y' (not 'm')). Setting these options solved this issue on my system. In the config posted here on bugzilla these options are set to 'y' and this is probably why I was unable to reproduce this bug. Please check that your kernel has these two options set to 'y', if it doesn't - set them (and check if bootsplash works), if it does - post an updated config file here. 
Comment 20 Quequero 2004-05-10 06:39:46 UTC
As stated on my third post: I have it

root@shatzy linux # grep BLK_DEV_INITRD kern-2.6.5-bootsplash && grep BLK_DEV_RAM kern-2.6.5-bootsplash
CONFIG_BLK_DEV_INITRD=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096

anywaiy here it is my conf :)
Que
Comment 21 Quequero 2004-05-10 06:41:16 UTC
Created attachment 31098 [details]
My kernel config, part 2

My kernel config for kernel 2.6.5 patched with bootsplash.

Que
Comment 22 J.Taimr 2004-05-22 09:31:08 UTC
I hit exactly the same OOPS with kernel gentoo-2.6.5-r1 WHEN I CHANGED THE NEXT SETTINGS in the .config:
< CONFIG_HIGHMEM=y
< CONFIG_HIGHPTE=y
123c121
< CONFIG_REGPARM=y
So, one of these params is resposible for the OOPS, because everything else is exactly the same, and bootsplash worked perfectly at the given system. I did not changed anything else, oterwise.
Comment 23 J.Taimr 2004-05-23 01:59:03 UTC
ok., it was (in my case) REGPARM=y. It seems, the splash routine does not like it. Without this param it works again without troubles, and OOPS is gone.
Comment 24 Michal Januszewski (RETIRED) gentoo-dev 2004-05-24 08:53:38 UTC
REGPARM is known to cause problems with Bootsplash (that's why the bootsplash ebuilds warn about this option). Unfortunately, in this case something else has to be causing the problem (REGPARM is disabled).
Comment 25 Roberto P.R. 2004-05-27 10:06:57 UTC
Well, I'm having the same problems in my laptop, and I also have set the RAM disk and InitRD support in kernel, but nothing changed - bootsplash still oops... HOWEVER, I did some tests and found something interesting: the oops ALWAYS happens AFTER the "bootsplash: status in console 0 changed to on" phase. Then, I edited the /etc/conf.d/bootsplash, and set the BOOTSPLASH_TTYS="1 2 3 4 5", INSTEAD of the normal BOOTSPLASH_TTYS="0 1 2 3 4 5". So, the oops was gone !! Of course, TTY0  does not have a bootsplash this way, but the oops doesn't happens anymore. The other TTYs have a normal bootsplash... 

Can this be useful for you ? I hope so.. Anyway, I'll continue with my tests... :)

Good luck!
Comment 26 Roberto P.R. 2004-05-27 10:26:05 UTC
I don't know if this is important or not, but I'm using Gentoo 2004.1, with this configuration:

- P4 Celeron 1.7
- 512 Mb RAM
- SiS 650 Graphics card, with 16Mb (shared)
- gentoo-dev-sources (kernel 2.6.5-r1)
- linux-headers 2.4.22
- UDEV enabled
- ACPI enabled

If you need some other information, just tell me...

Comment 27 Michal Januszewski (RETIRED) gentoo-dev 2004-05-29 16:47:51 UTC
I've just released a new bootsplash - v0.6.1. It includes a fix for the problems you've been experiencing. To test if it works, please emerge development-sources-2.6.7-rc1 (2.6.7 is important here - bootsplash patches for previous kernels were not updated) and bootsplash-0.6.1, and then have your kernel patched the standard way (bootsplash_patch). Please let me know whether the problem is fixed. 
Comment 28 Roberto P.R. 2004-06-02 05:49:13 UTC
Yes, it worked ! No more ooopses ! I followed all the steps and it worked. However, I won't use the development-sources... I'll wait for this to work with gentoo-dev-sources... :)

By the way, do you know what was causing the ooops ?
Comment 29 Michal Januszewski (RETIRED) gentoo-dev 2004-06-02 07:38:32 UTC
Great, I'm closing this bug. Please reopen in case any of you still experience similar problems. 

The oops was caused by fbcon's attempts at rendering cursor outside of the bootsplash-managed and resized console. It worked like that - before the /etc/init.d/bootsplash was executed, the cursor was on line 100. After /etc/init.d/bootsplash finished its job, for a moment the cursor was still on this line, but at the same time, there was no longer such line since the console had been resized to, let's say, 80 lines. Rendering cursor on line 100 meant writing to unallocated memory and this resulted in an oops.
Comment 30 Michal Januszewski (RETIRED) gentoo-dev 2004-06-02 07:39:11 UTC
It seems I've forgotten to actually mark it as fixed ;)
Comment 31 Roberto P.R. 2004-06-02 09:51:42 UTC
Hmmm, that's right... It's not an obvious thing, but it really can cause segfault. Ok, then, but... What's the solution ?? :)  Will this be fixed in gentoo-dev-sources, or people that wish to use bootsplash should use development-sources ??
Comment 32 Michal Januszewski (RETIRED) gentoo-dev 2004-06-02 12:44:10 UTC
Well, the solution is the new patch ;) You can diff it against the old ones to see what exactly has been changed. And yeah, this will surely be fixed in g-d-s, as soon as there is a g-d-s-2.6.7. Till then devel-sources would be the best choice if you want to use bootsplash and if this problems annoys you. 
Comment 33 Roberto P.R. 2004-06-03 14:40:39 UTC
Complain no more ! I found what was causing the oops: to make this a short story, the bootsplash initrd was not set up correctly, I think. After regenerating the initrd, with instructions found in bootsplash's site, the graphical boot came up with bootsplash NOT segfault-ing, even in gentoo-dev-sources ! Of course bootsplash has a bug - the one you talked about above - but with initrd set perfectly, it runs without problems.