Kernel panics on iSER (iscsi over IB) logouts

Bug #1443648 reported by Rafael David Tinoco
28
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Undecided
Unassigned
Trusty
Fix Released
High
Rafael David Tinoco

Bug Description

SRU Justification:

Impact: After iSER was fixed by LP: #1409904 iscsi logouts cause panics.
Fix: Upstream development and devel bisection between 3.13 and 3.16.
Testcase: To use iSER and shut down the open-iscsi daemon (comment #8).

---------------------

While shutting down the "open-iscsi" daemon (with an iSER mapped volume from other host) I'm getting the following kernel panic for kernel 3.13.0-49:

"""
[272820.948946] scsi15 : iSCSI Initiator over iSER
[272843.474551] sd 14:0:0:1: [sdc] Synchronizing SCSI cache
[272843.998231] BUG: unable to handle kernel paging request at ffffffffa03840b7
[272843.998258] IP: [<ffffffffa03840b7>] 0xffffffffa03840b7
[272843.998278] PGD 1c11067 PUD 1c12063 PMD 80afb5067 PTE 0
[272843.998306] Oops: 0010 [#1] SMP
[272843.998324] Modules linked in: rdma_ucm ib_ucm ib_srp scsi_transport_srp scsi_tgt ib_srpt ib_mthca ib_ipa
[272843.998742] CPU: 1 PID: 32399 Comm: kworker/1:0 Not tainted 3.13.0-49-generic #81-Ubuntu
[272843.998758] Hardware name: HP ProLiant DL360e Gen8, BIOS P73 11/12/2013
[272843.998774] Workqueue: ib_cm cm_work_handler [ib_cm]
[272843.998789] task: ffff88080b72c800 ti: ffff880802522000 task.ti: ffff880802522000
[272843.998827] RIP: 0010:[<ffffffffa03840b7>] [<ffffffffa03840b7>] 0xffffffffa03840b7
[272843.998870] RSP: 0018:ffff880802523c28 EFLAGS: 00010296
[272843.998893] RAX: ffff8800b851d801 RBX: ffff8807af8482b8 RCX: 0000000180200008
[272843.998929] RDX: 0000000180200009 RSI: 0000000080200008 RDI: ffff88081f003900
[272843.998965] RBP: ffff880802523c30 R08: 0000000000000000 R09: 0000000000000001
[272843.999002] R10: ffffea0002e14740 R11: ffffffffa00e0b9a R12: ffff88080953e400
[272843.999038] R13: ffff8807af8482b8 R14: ffff88080953e400 R15: 0000000000000000
[272843.999075] FS: 0000000000000000(0000) GS:ffff88083f420000(0000) knlGS:0000000000000000
[272843.999113] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[272843.999136] CR2: ffffffffa03840b7 CR3: 00000008024f1000 CR4: 00000000000407e0
[272843.999173] Stack:
[272843.999191] ffff8807af540000 ffff880802523c60 ffffffffa0386425 ffff8807af8482b8
[272843.999245] ffff88080953e400 ffff88080acf9fa8 ffff880802523cf0 ffff880802523ca0
[272843.999297] ffffffffa0384f58 ffffffff810aacc4 ffff8807af8482b8 ffff8807af8482d0
[272843.999349] Call Trace:
[272843.999378] [<ffffffff810aacc4>] ? __wake_up+0x44/0x50
[272843.999406] [<ffffffffa03c436b>] ? cma_comp_exch+0x4b/0x60 [rdma_cm]
[272843.999432] [<ffffffffa03c6429>] ? cma_ib_handler+0xf9/0x230 [rdma_cm]
[272843.999460] [<ffffffffa01b2166>] ? cm_process_work+0x26/0x150 [ib_cm]
[272843.999487] [<ffffffffa01b4183>] ? cm_work_handler+0xa83/0x161c [ib_cm]
[272843.999515] [<ffffffff81083a82>] ? process_one_work+0x182/0x450
[272843.999540] [<ffffffff81084871>] ? worker_thread+0x121/0x410
[272843.999565] [<ffffffff81084750>] ? rescuer_thread+0x430/0x430
[272843.999590] [<ffffffff8108b5b2>] ? kthread+0xd2/0xf0
[272843.999615] [<ffffffff8108b4e0>] ? kthread_create_on_node+0x1c0/0x1c0
[272843.999641] [<ffffffff8173258c>] ? ret_from_fork+0x7c/0xb0
[272843.999666] [<ffffffff8108b4e0>] ? kthread_create_on_node+0x1c0/0x1c0
[272843.999691] Code: Bad RIP value.
[272843.999721] RIP [<ffffffffa03840b7>] 0xffffffffa03840b7
[272843.999749] RSP <ffff880802523c28>
[272843.999770] CR2: ffffffffa03840b7
"""
I got also this one (looks the same):

"""
[ 479.240278] BUG: unable to handle kernel paging request at ffffffffa04af0b7
[ 479.240453] IP: [<ffffffffa04af0b7>] 0xffffffffa04af0b7
[ 479.240572] PGD 1c11067 PUD 1c12063 PMD 80bccf067 PTE 0
[ 479.240849] Oops: 0010 [#1] SMP
[ 479.241014] Modules linked in: ip6table_filter ip6_tables iptable_filter ip_tables ebtable_nat ebtables x_
[ 479.245546]
[ 479.245603] CPU: 2 PID: 257 Comm: kworker/2:1 Not tainted 3.13.0-49-generic #81-Ubuntu
[ 479.245668] Hardware name: HP ProLiant DL360e Gen8, BIOS P73 11/12/2013
[ 479.245734] Workqueue: ib_cm cm_work_handler [ib_cm]
[ 479.245847] task: ffff880811ad6000 ti: ffff880811420000 task.ti: ffff880811420000
[ 479.245923] RIP: 0010:[<ffffffffa04af0b7>] [<ffffffffa04af0b7>] 0xffffffffa04af0b7
[ 479.246065] RSP: 0018:ffff880811421c28 EFLAGS: 00010296
[ 479.246138] RAX: ffff8807f6d85501 RBX: ffff8807e613a2b8 RCX: 0000000180200009
[ 479.246212] RDX: 000000018020000a RSI: 0000000080200009 RDI: ffff88081f003900
[ 479.246287] RBP: ffff880811421c30 R08: 0000000000000000 R09: 0000000000000001
[ 479.246361] R10: ffffea001fdb6140 R11: ffffffffa00f7b9a R12: ffff8807e6238c00
[ 479.246435] R13: ffff8807e613a2b8 R14: ffff8807e6238c00 R15: 0000000000000000
[ 479.246510] FS: 0000000000000000(0000) GS:ffff88083f440000(0000) knlGS:0000000000000000
[ 479.246597] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 479.246669] CR2: ffffffffa04af0b7 CR3: 0000000811549000 CR4: 00000000000407e0
[ 479.246743] Stack:
[ 479.246811] ffff8807e6ac0000 ffff880811421c60 ffffffffa04b1425 ffff8807e613a2b8
[ 479.247113] ffff8807e6238c00 ffff88081218f6a8 ffff880811421cf0 ffff880811421ca0
[ 479.247412] ffffffffa04aff58 ffffffff810aacc4 ffff8807e613a2b8 ffff8807e613a2d0
[ 479.247712] Call Trace:
[ 479.247790] [<ffffffff810aacc4>] ? __wake_up+0x44/0x50
[ 479.247867] [<ffffffffa045436b>] ? cma_comp_exch+0x4b/0x60 [rdma_cm]
[ 479.247943] [<ffffffffa0456429>] ? cma_ib_handler+0xf9/0x230 [rdma_cm]
[ 479.248019] [<ffffffffa0247166>] ? cm_process_work+0x26/0x150 [ib_cm]
[ 479.248095] [<ffffffffa0249183>] ? cm_work_handler+0xa83/0x161c [ib_cm]
[ 479.248172] [<ffffffff81083a82>] ? process_one_work+0x182/0x450
[ 479.248247] [<ffffffff81084871>] ? worker_thread+0x121/0x410
[ 479.248321] [<ffffffff81084750>] ? rescuer_thread+0x430/0x430
[ 479.248396] [<ffffffff8108b5b2>] ? kthread+0xd2/0xf0
[ 479.248469] [<ffffffff8108b4e0>] ? kthread_create_on_node+0x1c0/0x1c0
[ 479.248546] [<ffffffff8173258c>] ? ret_from_fork+0x7c/0xb0
[ 479.248620] [<ffffffff8108b4e0>] ? kthread_create_on_node+0x1c0/0x1c0
[ 479.248693] Code: Bad RIP value.
[ 479.248871] RIP [<ffffffffa04af0b7>] 0xffffffffa04af0b7
[ 479.248999] RSP <ffff880811421c28>
[ 479.249068] CR2: ffffffffa04af0b7
"""
I'll be working on fixing this since I'm fixing also:

https://bugs.launchpad.net/ubuntu/+source/open-iscsi/+bug/1401575

By backporting TGT daemon to support iSER.

Changed in linux (Ubuntu):
assignee: nobody → Rafael David Tinoco (inaddy)
status: New → Confirmed
tags: added: cts
Changed in linux (Ubuntu):
importance: Undecided → High
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

This bug was discovered when fixing iSER enablement for Trusty in case:

https://bugs.launchpad.net/ubuntu/+source/open-iscsi/+bug/1401575

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

Kernel 3.16 does not suffer from this issue. I'll cherry-pick fixes either by checking git commits or bisecting development tree (since I have a reproducer).

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

I started bisecting this issue:

Upstream "linux-stable" git repo v3.13 -> BISECT BAD (same issue as description)
Upstream "linux-stable" git repo v3.16 -> BISECT GOOD (no issues after iSER iscsi login and iscsid turned off)

It will take sometime but I'll come up with the commit that fixes this behavior:

- Kernel 3.13 panicing on iscsi logout after node has logged in and mapped target using iSER.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

After taking long time bisecting kernel (3.13 <-> 3.16) it came out that the following commit (and its dependencies) are the ones that fixes the issue:

commit b73c3adabdb1e2cb2f2c69bc3cbb9306aa3f9700
Author: Ariel Nahum <email address hidden>
Date: Thu May 22 11:00:18 2014 +0300

    IB/iser: Simplify connection management

    iSER relies on refcounting to manage iser connections establishment
    and teardown.

    Following commit 39ff05dbbbdb ("IB/iser: Enhance disconnection logic
    for multi-pathing"), iser connection maintain 3 references:

     - iscsi_endpoint (at creation stage)
     - cma_id (at connection request stage)
     - iscsi_conn (at bind stage)

    We can avoid taking explicit refcounts by correctly serializing iser
    teardown flows (graceful and non-graceful).

    Our approach is to trigger a scheduled work to handle ordered teardown
    by gracefully waiting for 2 cleanup stages to complete:

     1. Cleanup of live pending tasks indicated by iscsi_conn_stop completion
     2. Flush errors processing

    Each completed stage will notify a waiting worker thread when it is
    done to allow teardwon continuation.

    Since iSCSI connection establishment may trigger endpoint disconnect
    without a successful endpoint connect, we rely on the iscsi <-> iser
    binding (.conn_bind) to learn about the teardown policy we should take
    wrt cleanup stages.

    Since all cleanup worker threads are scheduled (release_wq) in
    .ep_disconnect it is safe to assume that when module_exit is called,
    all cleanup workers are already scheduled. Thus proper module unload
    shall flush all scheduled works before allowing safe exit, to
    guarantee no resources got left behind.

    Signed-off-by: Ariel Nahum <email address hidden>
    Signed-off-by: Sagi Grimberg <email address hidden>
    Reviewed-by: Roi Dayan <email address hidden>
    Reviewed-by: Or Gerlitz <email address hidden>
    Signed-off-by: Roland Dreier <email address hidden>

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

I have backported this fix to 3.13 (attached as a .patch for review if anyone is willing to). Will do more tests, provide PPA for feedback for hopefully will ask kernel team for SRU.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

No Kernel panics for iSER Logout at this time (with this patch):

Linux dixie 3.13.11-ckt18-test01 #3 SMP Fri Apr 24 13:46:29 BRT 2015 x86_64 x86_64 x86_64 GNU/Linux

root@dixie:~# iscsiadm -m discovery --op=new --op=del --type sendtargets --portal 172.16.0.1 -I iser
172.16.0.1:3260,1 iqn.2001-04.com.hertz-lunit1

root@dixie:~# iscsiadm -m node -l
Logging in to [iface: iser, target: iqn.2001-04.com.hertz-lunit1, portal: 172.16.0.1,3260] (multiple)
Login to [iface: iser, target: iqn.2001-04.com.hertz-lunit1, portal: 172.16.0.1,3260] successful.

root@dixie:~# dd if=/dev/zero of=/dev/sdc bs=1M count=1024 oflag=direct
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 0.996458 s, 1.1 GB/s

root@dixie:~# service open-iscsi stop
 * Unmounting iscsi-backed filesystems [ OK ]
 * Disconnecting iSCSI targets
Logging out of session [sid: 5, target: iqn.2001-04.com.hertz-lunit1, portal: 172.16.0.1,3260]
Logout of [sid: 5, target: iqn.2001-04.com.hertz-lunit1, portal: 172.16.0.1,3260] successful.
 * Stopping iSCSI initiator service [ OK ]

And then again:

root@dixie:~# iscsiadm -m discovery --op=new --op=del --type sendtargets --portal 172.16.0.1 -I iser
172.16.0.1:3260,1 iqn.2001-04.com.hertz-lunit1

root@dixie:~# iscsiadm -m node -l
Logging in to [iface: iser, target: iqn.2001-04.com.hertz-lunit1, portal: 172.16.0.1,3260] (multiple)
Login to [iface: iser, target: iqn.2001-04.com.hertz-lunit1, portal: 172.16.0.1,3260] successful.

root@dixie:~# dd if=/dev/zero of=/dev/sdc bs=1M count=1024 oflag=direct
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 0.844185 s, 1.3 GB/s

root@dixie:~# service open-iscsi stop
 * Unmounting iscsi-backed filesystems [ OK ]
 * Disconnecting iSCSI targets
Logging out of session [sid: 2, target: iqn.2001-04.com.hertz-lunit1, portal: 172.16.0.1,3260]
Logout of [sid: 2, target: iqn.2001-04.com.hertz-lunit1, portal: 172.16.0.1,3260] successful.
 * Stopping iSCSI initiator service

No kernel panic again. Will do some stress testing for iSER to make sure everything is good.

tags: added: patch
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

Anyone can use the following PPA for hotfixed 3.13 (Trusty) kernel for x86/x64:

https://launchpad.net/~inaddy/+archive/ubuntu/lp1443648-x64

And the following PPA for hotfixed kernel for arm64 (moonshot):

https://launchpad.net/~inaddy/+archive/ubuntu/lp1443648-arm64

These PPAs should be used for any Trusty machine being an iSER (iSCSI over IB) client.

PLEASE ->

provide feedback for these kernels so I can ask kernel team to SRU my backport.

OBS:
I had to deal with some conflicts when backporting code from 3.16 to 3.13.
I already tested myself and it looks okay but I'll stress test the 3.13 iSER code a bit more.

Chris J Arges (arges)
Changed in linux (Ubuntu Trusty):
milestone: none → ubuntu-14.04.3
Changed in linux (Ubuntu Trusty):
assignee: nobody → Rafael David Tinoco (inaddy)
Changed in linux (Ubuntu):
assignee: Rafael David Tinoco (inaddy) → nobody
Changed in linux (Ubuntu Trusty):
status: New → In Progress
Changed in linux (Ubuntu):
status: Confirmed → Invalid
description: updated
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

Proposed this fix to kernel team mailing list. Waiting on SRU.

Brad Figg (brad-figg)
Changed in linux (Ubuntu Trusty):
status: In Progress → Fix Committed
Revision history for this message
Brad Figg (brad-figg) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-trusty' to 'verification-done-trusty'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-trusty
Revision history for this message
Amir Vadai (amirv) wrote : RE: [Bug 1443648] Re: Kernel panics on iSER (iscsi over IB) logouts
Download full text (7.7 KiB)

+ Kamal

-----Original Message-----
From: <email address hidden> [mailto:<email address hidden>] On Behalf Of Brad Figg
Sent: Wednesday, August 5, 2015 9:15 PM
To: Amir Vadai <email address hidden>
Subject: [Bug 1443648] Re: Kernel panics on iSER (iscsi over IB) logouts
Importance: High

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed- trusty' to 'verification-done-trusty'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

** Tags added: verification-needed-trusty

--
You received this bug notification because you are subscribed to the bug report.
https://bugs.launchpad.net/bugs/1443648

Title:
  Kernel panics on iSER (iscsi over IB) logouts

Status in linux package in Ubuntu:
  Invalid
Status in linux source package in Trusty:
  Fix Committed

Bug description:
  SRU Justification:

  Impact: After iSER was fixed by LP: #1409904 iscsi logouts cause panics.
  Fix: Upstream development and devel bisection between 3.13 and 3.16.
  Testcase: To use iSER and shut down the open-iscsi daemon (comment #8).

  ---------------------

  While shutting down the "open-iscsi" daemon (with an iSER mapped
  volume from other host) I'm getting the following kernel panic for
  kernel 3.13.0-49:

  """
  [272820.948946] scsi15 : iSCSI Initiator over iSER
  [272843.474551] sd 14:0:0:1: [sdc] Synchronizing SCSI cache
  [272843.998231] BUG: unable to handle kernel paging request at ffffffffa03840b7
  [272843.998258] IP: [<ffffffffa03840b7>] 0xffffffffa03840b7
  [272843.998278] PGD 1c11067 PUD 1c12063 PMD 80afb5067 PTE 0
  [272843.998306] Oops: 0010 [#1] SMP
  [272843.998324] Modules linked in: rdma_ucm ib_ucm ib_srp scsi_transport_srp scsi_tgt ib_srpt ib_mthca ib_ipa
  [272843.998742] CPU: 1 PID: 32399 Comm: kworker/1:0 Not tainted 3.13.0-49-generic #81-Ubuntu
  [272843.998758] Hardware name: HP ProLiant DL360e Gen8, BIOS P73 11/12/2013
  [272843.998774] Workqueue: ib_cm cm_work_handler [ib_cm]
  [272843.998789] task: ffff88080b72c800 ti: ffff880802522000 task.ti: ffff880802522000
  [272843.998827] RIP: 0010:[<ffffffffa03840b7>] [<ffffffffa03840b7>] 0xffffffffa03840b7
  [272843.998870] RSP: 0018:ffff880802523c28 EFLAGS: 00010296
  [272843.998893] RAX: ffff8800b851d801 RBX: ffff8807af8482b8 RCX: 0000000180200008
  [272843.998929] RDX: 0000000180200009 RSI: 0000000080200008 RDI: ffff88081f003900
  [272843.998965] RBP: ffff880802523c30 R08: 0000000000000000 R09: 0000000000000001
  [272843.999002] R10: ffffea0002e14740 R11: ffffffffa00e0b9a R12: ffff88080953e400
  [272843.999038] R13: ffff8807af8482b8 R14: ffff88080953e400 R15: 0000000000000000
  [272843.999075] FS: 0000000000000000(0000) GS:ffff88083f420000(0000) knlGS:0000000000000000
  [272843.999113] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  [272843.999136] CR2: ffffffffa03840b7 CR3: 00000...

Read more...

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

Verifying this right now, will share results soon.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

I was able to verify that the new kernel fixes the issue:

root@dixie:~# uname -a
Linux dixie 3.13.0-62-generic #101-Ubuntu SMP Thu Jul 30 09:01:36 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

root@dixie:~# iscsiadm -m discovery --op=show --type sendtargets --portal 172.16.0.1 -I iser
172.16.0.1:3260,1 iqn.2001-04.com.hertz-lunit1

root@dixie:~# iscsiadm -m discovery --op=new --op=del --type sendtargets --portal 172.16.0.1 -I iser
172.16.0.1:3260,1 iqn.2001-04.com.hertz-lunit1

root@dixie:~# iscsiadm -m node -l
Logging in to [iface: iser, target: iqn.2001-04.com.hertz-lunit1, portal: 172.16.0.1,3260] (multiple)
Login to [iface: iser, target: iqn.2001-04.com.hertz-lunit1, portal: 172.16.0.1,3260] successful.

root@dixie:~# ls /dev/sdc
/dev/sdc

root@dixie:~# dd if=/dev/zero of=/dev/sdc bs=1M count=1024 oflag=direct
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 1.01833 s, 1.1 GB/s

root@dixie:~# service open-iscsi stop
 * Unmounting iscsi-backed filesystems [ OK ]
 * Disconnecting iSCSI targets Logging out of session [sid: 3, target: iqn.2001-04.com.hertz-lunit1, portal: 172.16.0.1,3260]

### NO KERNEL PANIC!!! (as it used to happen)

Logout of [sid: 3, target: iqn.2001-04.com.hertz-lunit1, portal: 172.16.0.1,3260] successful.
                                                                                  [ OK ]
 * Stopping iSCSI initiator service [ OK ]
root@dixie:~#
root@dixie:~#
root@dixie:~# service open-iscsi start
 * Starting iSCSI initiator service iscsid [ OK ]
 * Setting up iSCSI targets
iscsiadm: No records found
                                                                                  [ OK ]
 * Mounting network filesystems [ OK ]

tags: added: verification-done
removed: verification-needed-trusty
tags: added: sts
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :
Mathew Hodson (mhodson)
Changed in linux (Ubuntu Trusty):
importance: Undecided → High
Changed in linux (Ubuntu):
importance: High → Undecided
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :
Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

inaddy@mylinux  ~/Work/Kernel/Ubuntu/ubuntu-trusty   master  git tag --contains d6cdcda08c712cae7f071866e7e2e331242d66c3
Ubuntu-3.13.0-60.99
Ubuntu-3.13.0-62.101
Ubuntu-3.13.0-62.102
Ubuntu-3.13.0-63.103
Ubuntu-3.13.0-64.104
Ubuntu-3.13.0-65.105

 linux-image-generic | 3.13.0.24.28 | trusty | amd64, arm64, armhf, i386, ppc64el
 linux-image-generic | 3.13.0.65.71 | trusty-security | amd64, arm64, armhf, i386, ppc64el
 linux-image-generic | 3.13.0.65.71 | trusty-updates | amd64, arm64, armhf, i386, ppc64el

This is already Fix Released.

Changed in linux (Ubuntu Trusty):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.