FAQ: [#6465] TTYBF causes lockups and workqueue failures.(2011)

Document created by Aaronwu Employee on Sep 11, 2013
Version 1Show Document
  • View in full screen mode

[#6465] TTYBF causes lockups and workqueue failures.

Submitted By: Chris Brissette

Open Date

2011-01-28 09:11:15    

Priority:

Low     Assignee:

Sonic Zhang

Status:

Open     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

Category:

Drivers     Board:

STAMP

Processor:

BF537     Silicon Revision:

3

Is this bug repeatable?:

Yes     Resolution:

Upstream

Uboot version or rev.:

    Toolchain version or rev.:

2010R1

App binary format:

N/A     

Summary: TTYBF causes lockups and workqueue failures.

Details:

 

For details see forum:

http://blackfin.uclinux.org/gf/project/uclinux-dist/forum/?_forum_action=ForumMessageBrowse&thread_id=44349&action=ForumBrowse&forum_id=39

 

kernel:    Linux release 2.6.34.7-ADI-2010R1-svn9519, build #305 Tue Dec 14 11:41:38 EST 2010

toolchain: bfin-uclinux-gcc release gcc version 4.3.5 (ADI-2010R1-RC4)

user-dist: release svn-9993, build #147 Tue Dec 14 11:40:50 EST 2010

 

Doesn't fail on 2009r1.1

 

Test program that reproduces failure is in the forum. Reproduced on BF537-Stamp and custom 537 hardware.

 

Seems like it reproduces quicker the more drivers that you add. (Nand, USB, Wifi ect)

 

 

Follow-ups

 

--- Sonic Zhang                                              2011-02-10 02:37:44

Yes, we can replicate by your test application on bf537-stamp with SVN trunk

kernel. It looks sometimes the tty buffer work is not deleted properly after the

timer is triggered. This has nothing to do with the serial driver directly.

 

--- Tomasz Motylewski                                        2011-04-11 09:27:54

I have reproduced this or very similar bug (kernel BUG at

kernel/workqueue.c:991) not using ttyBF* but ttyS* 4-port UART16750 implemented

with FPGA using single GPIO-IRQ. Standard 8250.ko driver.

 

------------[ cut here ]------------

kernel BUG at kernel/workqueue.c:991!

Kernel panic - not syncing: BUG()

Hardware Trace:

   0 Target : <0x00003fc0> { _trap_c + 0x0 }

     Source : <0xffa00744> { _exception_to_level5 + 0xa4 } JUMP.L

   1 Target : <0xffa006a0> { _exception_to_level5 + 0x0 }

     Source : <0xffa00554> { _bfin_return_from_exception + 0x18 } RTX

   2 Target : <0xffa0053c> { _bfin_return_from_exception + 0x0 }

     Source : <0xffa005f8> { _ex_trap_c + 0x74 } JUMP.S

   3 Target : <0xffa00584> { _ex_trap_c + 0x0 }

     Source : <0xffa0080a> { _trap + 0x5a } JUMP (P4)

   4 Target : <0xffa007b0> { _trap + 0x0 }

      FAULT : <0x0001f508> { ___queue_work + 0x19c } BUG

     Source : <0x0001f3a0> { ___queue_work + 0x34 } IF !CC JUMP pcrel

   5 Target : <0x0001f398> { ___queue_work + 0x2c }

     Source : <0x0001f4d4> { ___queue_work + 0x168 } JUMP.S

   6 Target : <0x0001f4be> { ___queue_work + 0x152 }

     Source : <0x0001f446> { ___queue_work + 0xda } IF CC JUMP pcrel

(BP)

   7 Target : <0x0001f444> { ___queue_work + 0xd8 }

     Source : <0x0001f37e> { ___queue_work + 0x12 } IF CC JUMP pcrel

   8 Target : <0x0001f36c> { ___queue_work + 0x0 }

     Source : <0x00020b90> { _flush_delayed_work + 0x28 } CALL pcrel

   9 Target : <0x00020b88> { _flush_delayed_work + 0x20 }

     Source : <0x00020ba4> { _flush_delayed_work + 0x3c } JUMP.S

  10 Target : <0x00020ba0> { _flush_delayed_work + 0x38 }

     Source : <0x00020b84> { _flush_delayed_work + 0x1c } IF !CC JUMP

pcrel (BP)

  11 Target : <0x00020b76> { _flush_delayed_work + 0xe }

     Source : <0x000196c2> { _del_timer + 0x72 } RTS

  12 Target : <0x000196b4> { _del_timer + 0x64 }

     Source : <0x000196ae> { _del_timer + 0x5e } IF !CC JUMP pcrel (BP)

  13 Target : <0x000196a8> { _del_timer + 0x58 }

     Source : <0x00019692> { _del_timer + 0x42 } JUMP.S

  14 Target : <0x0001965e> { _del_timer + 0xe }

     Source : <0xffa00cf8> { __common_int_entry + 0xcc } RTI

  15 Target : <0xffa00c96> { __common_int_entry + 0x6a }

     Source : <0xffa00ae0> { _return_from_int + 0x58 } RTS

Stack info:

SP: [0x00ff189c] <0x00ff189c> /* kernel dynamic memory (maybe

user-space) */

FP: (0x00ff1aac)

Memory from 0x00ff1890 to 00ff2000

00ff1890: 00000021  00ff189c  00000013 [00169728] 00131688  00ff1994  00169728

0019f3cf

00ff18b0: 0019f3cf  0019f3cf  00ff18e4  00ff1de0  00004434  00ff1994  ffe02014

00000000

00ff18d0: 0000ffc0  00000021  00000021  00000013  00000000  0000003f  0000003f

001a3de4

00ff18f0: 00ff1924  00000100  0000065d  15d0cac4  0000065d  15d0cac4  00000000

15d0cac4

00ff1910: 00ff0000  001a4bf0  001a49f0  001a47f0  001a45f0  00ff1924  00ff1924

001a3cbc

00ff1930:<00015d1a> 00000001  001a3cc8  00ff0000  00000001  00000004

00000100  00015d26

00ff1950: 00026e50  00036156  001afccc  00000000  00000000  00000006  00ff1de0

ffa00386

00ff1970: ffa00748  0019c000  00008008  00000021  00ff1da0  00000018  00000018

00000000

00ff1990: 00000480  00000480  00008008  00000021  00000000  00ff1a70  00000480

0001f508

00ff19b0: 00020b94  001af1b4  02002002  0020b7ad  ffa016cc  0020b784  ffa016ca

00000000

00ff19d0: 00000000  00000308  00000000  0005f308  00000000  00000000  00000000

00000000

00ff19f0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

00ff1a10: 0000000c  0021e3ac  000006e8  00305c48  001ac6ac  00305bac  00ff1de0

00c454a8

00ff1a30: 020160c0  00000000  0200b000  001af1b4  0200b000  0000ffff  02e56f40

00ff1da0

00ff1a50: 00000018  0000ffff  00c454a8  00c454ac  001af1b4  001af1b4  0200b000

00000006

00ff1a70: 00000018  00177370  00000000  000000a8  00020b94  00c454a8  00000000

00000001

00ff1a90: 001af490  00000000  00000000  000ab9de  00c45400  010dc5c0  00ff1b44

(00000000)

00ff1ab0:<000a865e> 02e56f40  00fb0ae0  00c45400  00000000  00ff1de0

<00055608> 00ff1dc0

00ff1ad0:<00055608> 00ff1dc8  02e56f40  00000000  00000000  001ac6ac

00305bac  000001ff

00ff1af0: 0000c350  00ff0000  00ff1b04  00000001  0000c350  15cf3680  0000065d

00000000

00ff1b10: 000001ff  00055802  00ff1b44  00000007  00000000  00000038  00000000

00305c10

00ff1b30: 00305c10  00000001  00ff1da0  00ff1b44  00ff1ed4  00055370  0000001b

00000000

00ff1b50: 001f02e0  00000000  00000000  0000000b  02bdaa20  0000001b  00000000

00ff1b44

00ff1b70: 00055434  010d14f0  010d14f0  010d14f0  02bdaa20  0000001b  00000000

00ff1b44

00ff1b90: 00055434  010d14e8  010d14e8  010d14e8  02bda2a0  0000001b  00000000

00ff1b44

00ff1bb0: 00055434  00fb0a00  00fb0a00  00fb0a00  02bda3a0  0000001b  00000000

00ff1b44

00ff1bd0: 00055434  00c0d560  00c0d560  00c0d560  02e56240  0000001b  00000000

00ff1b44

00ff1bf0: 00055434  03113cc8  03113cc8  03113cc8  02e56240  0000001b  00000000

00ff1b44

00ff1c10: 00055434  03113ce8  03113ce8  03113ce8  02e56f40  0000001b  00000000

00ff1b44

00ff1c30: 00055434  00c454f0  00c454f0  00c454f0  02e56f40  0000001b  00000000

00ff1b44

00ff1c50: 00055434  00c454e8  00c454e8  00c454e8  02bdab20  0000001b  00000000

00ff1b44

00ff1c70: 00055434  00c450f0  00c450f0  00c450f0  02bdab20  0000001b  00000000

00ff1b44

00ff1c90: 00055434  00c450e8  00c450e8  00c450e8  02bdada0  0000001b  00000000

00ff1b44

00ff1cb0: 00055434  00c0d5a0  00c0d5a0  00c0d5a0  14eccc02  0000065d  14f5317e

14ec1801

00ff1cd0: ffffffff  7fffffff  14eccc02  0000065d  14f5317e  0002e9ee  001af464

001af464

00ff1cf0: 00ff1d40  0000065d  0000065d  14f5317e  0000065d  001af464  001ac6ac

00000000

00ff1d10: 00000000  0002722e  0000065d  00000000  00000000  00000011  000197f8

0000065d

00ff1d30: 14ebf5a5  0000065d  14ebf5a5  00000000  14ebf5a5  00ff0000  001a4bf0

001a49f0

00ff1d50: 001a47f0  001a45f0  00ff1d58  00ff1d58  001a3cbc <00015d1a>

00000001  001a3cc8

00ff1d70: 00ff0000  00000001  00000004  00000100  00015d26  00000001  00036156

001afccc

00ff1d90: 00000135  00305d00  00000006  00305bc0  00000000  00000007  00000000

00000003

00ff1db0: 0000000c  00000003  0000000d  00000003  00000004  00000003  00000008

00000003

00ff1dd0: 00000009  00000003  0000000b  00000003  0000065c  00ff1e1c  000556dc

00008050

00ff1df0: 00000000  00000000  00ff2000  0020ebf0  000556dc  0005586c  00000006

02003025

00ff1e10: 0020b7ad  0021053f  0020b784  00210532  00000000  00000000  00000000

00000000

00ff1e30: 00000000  00000000  00000000  00000000  00000000  00000000  0000001f

00000000

00ff1e50: 514afd58  00000000  2c9c2bc7  b5f74444  00305bc0  000551e8  0000001f

00000135

00ff1e70: 514b7c00  00000000  2c9c2bc7  b5f74444  00305bc0  00055298  00ff1ed4

00000135

00ff1e90: 00305d00  00000000  001e8480  00000000  00305bc0  0005586c  00000000

00000135

00ff1eb0: 00305d00  00ff1ed4  00305bb8  00305c10  00000007  00000010  00ff1edc

00ff1ed4

00ff1ed0: 00000000  0000065d  15cf3680  00000000  001e8480  00000000  0000005c

<ffa00942>

00ff1ef0: 000d3d1c <ffa00942> 00055848  00000000  ffffe000  00000007

00000008  00305d30

00ff1f10: 00000002  00305c10  00000000  00000008  00000007  0020ebf0  00008000

00000000

00ff1f30: 00000000  00ff2000  0020ebf0  0020ebf0  0020ebbc  ffa01050  02003004

0020b7ad

00ff1f50: 0021053f  0020b784  00210532  00000000  00000000  000004af  00000000

00014c57

00ff1f70: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

00ff1f90: 00000000  00000000  00000000  00000000  0000000c  0021e3ac  000006e8

00000001

00ff1fb0: 00305c10  00305bac  00305bc0  002e5c2c  0022182c  00305d00  00305bb8

00000007

00ff1fd0: 00000135  00000002  00305c10  00000007  00000008  00000000  00305bb8

00000007

00ff1ff0: 00305c10  00305c10  00000135  00000006

Return addresses in stack:

    address : <0x00015d1a> { ___do_softirq + 0x76 }

   frame  1 : <0x000a865e> { _tty_poll + 0x4a }

    address : <0x00055608> { _do_poll + 0xa0 }

    address : <0x00055608> { _do_poll + 0xa0 }

    address : <0x00015d1a> { ___do_softirq + 0x76 }

    address : <0xffa00942> { _system_call + 0x6a }

    address : <0xffa00942> { _system_call + 0x6a }

 

 

--- Sonic Zhang                                              2011-04-12 01:47:35

So, this bug should be reported upstream.

 

--- Tomasz Motylewski                                        2011-04-14 09:29:48

This was using linux-kernel snapshot r9700. I will test current ADI HEAD (r9834)

today. Unfortunately takes several hours to reproduce so it is hard to be sure.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes