Modify

Opened 10 years ago

Closed 10 years ago

#3008 closed defect (fixed)

httpd crashes on Linksys WRT54G with "Unable to handle kernel paging request at virtual address..."

Reported by: zioproto@… Owned by: developers
Priority: high Milestone:
Component: kernel Version:
Keywords: Cc: nino@…, clauz@…, zioproto@…

Description

This is the procedure to reproduce the bug

  • Flash the firmware compiled from trunk
  • telnet and change the password
  • connect in SSH, if you run logread everything is normal
  • connect with Firefox in HTTP
  • insert username root and correct password... connection goes timeout forever
  • do again logread on the shell and you get that httpd crashed:

here is my logread output

Jan  1 00:02:00 OpenWrt user.alert kernel: Unable to handle kernel paging request at virtual address 00000000, epc == 00000000, ra == 80083404
Jan  1 00:02:00 OpenWrt user.warn kernel: Oops in fault.c::do_page_fault, line 206:
Jan  1 00:02:00 OpenWrt user.warn kernel: $0 : 00000000 ffffefff 00000000 00000000 805805e0 00000000 00000001 80589d48
Jan  1 00:02:00 OpenWrt user.warn kernel: $8 : 00000000 00000000 00000284 00000000 00000000 80399c00 00000000 00000001
Jan  1 00:02:00 OpenWrt user.warn kernel: $16: 8022c60c 80201ae4 80b87d40 80399cf8 805805e0 80201ae4 00000000 00000000
Jan  1 00:02:00 OpenWrt user.warn kernel: $24: ba2e8ba3 801ae5d4                   80588000 80589d30 00000000 80083404
Jan  1 00:02:00 OpenWrt user.warn kernel: Hi : ffffeffe
Jan  1 00:02:00 OpenWrt user.warn kernel: Lo : 00000556
Jan  1 00:02:00 OpenWrt user.warn kernel: epc   : 00000000    Tainted: P 
Jan  1 00:02:00 OpenWrt user.warn kernel: Status: 1000fc03
Jan  1 00:02:00 OpenWrt user.warn kernel: Cause : 00000008
Jan  1 00:02:00 OpenWrt user.warn kernel: PrId  : 00029007
Jan  1 00:02:00 OpenWrt user.warn kernel: Process httpd (pid: 1566, stackpage=80588000)
Jan  1 00:02:00 OpenWrt user.warn kernel: Stack:    00000004 80589d88 00000000 80002764 00000000 80589e48 00000000
Jan  1 00:02:00 OpenWrt user.warn kernel:  8018b070 00001000 80589d88 80b87d40 801b0000 80141494 801b0000 00000014
Jan  1 00:02:00 OpenWrt user.warn kernel:  809b9c80 00000000 809b9cb0 80198dec 00000000 801413e8 805814c0 00000000
Jan  1 00:02:00 OpenWrt user.warn kernel:  800510d4 00000000 805814c0 80ba353c 80ba34d8 00000000 1000fc00 00000000
Jan  1 00:02:00 OpenWrt user.warn kernel:  00000001 00000000 801b0000 00000000 80201ae4 00000001 80198b78 00000000
Jan  1 00:02:00 OpenWrt user.warn kernel:  80198b40 ...
Jan  1 00:02:00 OpenWrt user.warn kernel: Call Trace:   [<80002764>] [<80141494>] [<801413e8>] [<800510d4>] [<c0139730>]
Jan  1 00:02:00 OpenWrt user.warn kernel:  [<80030160>] [<8h0030038>] [<800271e8>] [<800450c4>] [<80027a90>] [<80027cc0>]
Jan  1 00:02:00 OpenWrt user.warn kernel:  [<800434c8>] [<8001ebec>] [<80027e04>] [<80008a60>] [<8005bb0c>]
Jan  1 00:02:00 OpenWrt user.warn kernel: 
Jan  1 00:02:00 OpenWrt user.warn kernel: Code: (Bad address in epc)
Jan  1 00:02:00 OpenWrt user.warn kernel: 

This bug happens only on WRT54G I tried also with a Fonera and with a Alix, and the bug does not happen

Attachments (0)

Change History (6)

comment:1 Changed 10 years ago by netprince (at) vt (dot) edu

confirmed.

comment:2 follow-up: Changed 10 years ago by KanjiMonster

Sounds like the problem discussed here.

Try disabling sendfile() in the httpd config for busybox.

comment:3 in reply to: ↑ 2 Changed 10 years ago by zioproto@…

Replying to KanjiMonster:

Sounds like the problem discussed here.

Try disabling sendfile() in the httpd config for busybox.

Thank you! the workaround makes the kernel happy and everything works.

Still, I think disabling sendfile() must be automatic when selecting the brcm target, to avoid misconfiguration when compiling.

comment:4 Changed 10 years ago by zioproto@…

Symbol:
CONFIG_BUSYBOX_CONFIG_FEATURE_HTTPD_USE_SENDFILE:

Description:
When enabled, httpd will use the kernel sendfile() function
instead of read/write loop.

Fix to this ticket:
Please hardcode the symbol to "no" when selecting brcm2.4 target

comment:5 Changed 10 years ago by netprince (at) vt (dot) edu

The above fix worked for me as well.

comment:6 Changed 10 years ago by florian

  • Resolution set to fixed
  • Status changed from new to closed

Fixed with [10200]

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.