This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

threads/2373: gdb sees only currently executing thread


>Number:         2373
>Category:       threads
>Synopsis:       gdb sees only currently executing thread
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Nov 29 18:48:02 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     Ryan Johnson
>Release:        6.6, 6.7
>Organization:
>Environment:
powerpc64-unknown-linux-gnu (gcc 4.1.2)
i686-pc-cygwin (gcc 4.2.2)
>Description:
For some reason gdb can't keep track of the active threads in a program. At any point it sees only the currently executing thread, and setting breakpoints for other threads may or may not work properly.

This makes it rather hard to debug multi-threaded programs...
>How-To-Repeat:
See attached typescript. It prints the program to the screen, compiles it, then debugs it three times. The first run shows how gdb is never aware of more than one thread. The second run shows that main() doesn't break, even though the breakpoint failed when we continued from the spawned thread. The third run shows that the breakpoint works if we continue from the main thread.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="thread.script"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="thread.script"

U2NyaXB0IHN0YXJ0ZWQgb24gVGh1IE5vdiAyOSAxMzozOTozNiAyMDA3CgpbcnlhbkBjcmV0ZV0g
fi9leHBlcmltZW50cwokIGNhdCB0aHJlYWQuY3BwCiNpbmNsdWRlIDxwdGhyZWFkLmg+CiNpbmNs
dWRlIDxjc3RkaW8+CiNpbmNsdWRlIDxjYXNzZXJ0PgoKZXh0ZXJuICJDIiB2b2lkKiBydW4odm9p
ZCogYXJnKSB7CiAgcHJpbnRmKCJydW4oJXApIGNhbGxlZFxuIiwgYXJnKTsKICByZXR1cm4gYXJn
Owp9CgppbnQgbWFpbigpIHsKICBwdGhyZWFkX3QgdGlkOwogIGludCBlcnIgPSBwdGhyZWFkX2Ny
ZWF0ZSgmdGlkLCBOVUxMLCAmcnVuLCAmdGlkKTsKICBhc3NlcnQoIWVycik7CiAgdm9pZCogcmVz
dWx0OwogIGVyciA9IHB0aHJlYWRfam9pbih0aWQsICZyZXN1bHQpOwogIGFzc2VydCghZXJyKTsK
ICBwcmludGYoInJ1bigpIHJldHVybmVkICVwXG4iLCByZXN1bHQpOwogIHJldHVybiAwOwp9Cgpb
cnlhbkBjcmV0ZV0gfi9leHBlcmltZW50cwokIHVuYW1lIC1hCkxpbnV4IGNyZXRlIDIuNi4xNi1n
ZW50b28tcjktcGVyZmN0cktwcm9iZXMgIzEgU01QIFR1ZSBOb3YgMTQgMDA6MzI6NTIgRVNUIDIw
MDYgcHBjNjQgUE9XRVI1IChncikgQ0hSUCBJQk0sOTEyNC03MjAgR05VL0xpbnV4CgpbcnlhbkBj
cmV0ZV0gfi9leHBlcmltZW50cwokIGdjYyAtZHVtcG1hY2hpbmUKcG93ZXJwYzY0LXVua25vd24t
bGludXgtZ251CgpbcnlhbkBjcmV0ZV0gfi9leHBlcmltZW50cwokIGdjYyAtLXZlcnNpb24KZ2Nj
IChHQ0MpIDQuMS4yIChHZW50b28gNC4xLjIgcDEuMC4yKQpDb3B5cmlnaHQgKEMpIDIwMDYgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRo
ZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndhcnJhbnR5OyBu
b3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLgoKCltyeWFuQGNyZXRlXSB+L2V4cGVyaW1lbnRzCiQgZysrIC1XYWxsIC1nIC1scHRo
cmVhZCB0aHJlYWQuY3BwCgpbcnlhbkBjcmV0ZV0gfi9leHBlcmltZW50cwokIGdkYiAtLXZlcnNp
b24KR05VIGdkYiA2LjcKQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLgpMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6
Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBh
cmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFO
VFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4gIFR5cGUgInNob3cgY29weWluZyIK
YW5kICJzaG93IHdhcnJhbnR5IiBmb3IgZGV0YWlscy4KVGhpcyBHREIgd2FzIGNvbmZpZ3VyZWQg
YXMgInBvd2VycGM2NC11bmtub3duLWxpbnV4LWdudSIuCgpbcnlhbkBjcmV0ZV0gfi9leHBlcmlt
ZW50cwokIGdkYiBhLm91dAobWz8xMDM0aEdOVSBnZGIgNi43CkNvcHlyaWdodCAoQykgMjAwNyBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVy
c2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD4KVGhpcyBp
cyBmcmVlIHNvZnR3YXJlOiB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUg
aXQuClRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcu
ICBUeXBlICJzaG93IGNvcHlpbmciCmFuZCAic2hvdyB3YXJyYW50eSIgZm9yIGRldGFpbHMuClRo
aXMgR0RCIHdhcyBjb25maWd1cmVkIGFzICJwb3dlcnBjNjQtdW5rbm93bi1saW51eC1nbnUiLi4u
ClVzaW5nIGhvc3QgbGlidGhyZWFkX2RiIGxpYnJhcnkgIi9saWIvbGlidGhyZWFkX2RiLnNvLjEi
LgooZ2RiKSBiIHJ1bgpCcmVha3BvaW50IDEgYXQgMHgxMDAwMDkxNDogZmlsZSB0aHJlYWQuY3Bw
LCBsaW5lIDYuCihnZGIpIHN0YXJ0CkJyZWFrcG9pbnQgMiBhdCAweDEwMDAwODMwOiBmaWxlIHRo
cmVhZC5jcHAsIGxpbmUgMTIuClN0YXJ0aW5nIHByb2dyYW06IC9ob21lL3J5YW4vZXhwZXJpbWVu
dHMvYS5vdXQgCm1haW4gKCkgYXQgdGhyZWFkLmNwcDoxMgoxMgkgIGludCBlcnIgPSBwdGhyZWFk
X2NyZWF0ZSgmdGlkLCBOVUxMLCAmcnVuLCAmdGlkKTsKKGdkYikgaSB0aAooZ2RiKSBjb250CkNv
bnRpbnVpbmcuCltOZXcgTFdQIDE4NTQ3XQpbU3dpdGNoaW5nIHRvIExXUCAxODU0N10KCkJyZWFr
cG9pbnQgMSwgcnVuIChhcmc9MHhmZmZmZmM2ZGU1OCkgYXQgdGhyZWFkLmNwcDo2CjYJICBwcmlu
dGYoInJ1biglcCkgY2FsbGVkXG4iLCBhcmcpOwooZ2RiKSBpIHRoCiogMSBMV1AgMTg1NDcgIHJ1
biAoYXJnPTB4ZmZmZmZjNmRlNTgpIGF0IHRocmVhZC5jcHA6NgooZ2RiKSBiIHRocmVhZC5jcHA6
MTQKQnJlYWtwb2ludCAzIGF0IDB4MTAwMDA4N2M6IGZpbGUgdGhyZWFkLmNwcCwgbGluZSAxNC4K
KGdkYikgY29udApDb250aW51aW5nLgpydW4oMHhmZmZmZmM2ZGU1OCkgY2FsbGVkCltMV1AgMTg1
NDcgZXhpdGVkXQpydW4oKSByZXR1cm5lZCAweGZmZmZmYzZkZTU4CgpQcm9ncmFtIGV4aXRlZCBu
b3JtYWxseS4KKGdkYikgZCAxCihnZGIpIHN0YXJ0CkJyZWFrcG9pbnQgNCBhdCAweDEwMDAwODMw
OiBmaWxlIHRocmVhZC5jcHAsIGxpbmUgMTIuClN0YXJ0aW5nIHByb2dyYW06IC9ob21lL3J5YW4v
ZXhwZXJpbWVudHMvYS5vdXQgCm1haW4gKCkgYXQgdGhyZWFkLmNwcDoxMgoxMgkgIGludCBlcnIg
PSBwdGhyZWFkX2NyZWF0ZSgmdGlkLCBOVUxMLCAmcnVuLCAmdGlkKTsKKGdkYikgc3RlcAoxMwkg
IGFzc2VydCghZXJyKTsKKGdkYikgc3RlcApydW4oMHhmZmZmZmU2N2U1OCkgY2FsbGVkCgpCcmVh
a3BvaW50IDMsIG1haW4gKCkgYXQgdGhyZWFkLmNwcDoxNQoxNQkgIGVyciA9IHB0aHJlYWRfam9p
bih0aWQsICZyZXN1bHQpOwooZ2RiKSBzdGVwCjE2CSAgYXNzZXJ0KCFlcnIpOwooZ2RiKSBzdGVw
CjE3CSAgcHJpbnRmKCJydW4oKSByZXR1cm5lZCAlcFxuIiwgcmVzdWx0KTsKKGdkYikgc3RlcApy
dW4oKSByZXR1cm5lZCAweGZmZmZmZTY3ZTU4CjE4CSAgcmV0dXJuIDA7CihnZGIpIHN0ZXAKMTkJ
fQooZ2RiKSBzZQggCHRlcAoweDAwMDAwNDAwMDAyZmFjOGMgaW4gLl9fbGliY19pbml0X2ZpcnN0
ICgpIGZyb20gL2xpYi9saWJjLnNvLjYKKGdkYikgY29udApDb250aW51aW5nLgoKUHJvZ3JhbSBl
eGl0ZWQgbm9ybWFsbHkuCihnZGIpIHN0YXJ0CkJyZWFrcG9pbnQgNSBhdCAweDEwMDAwODMwOiBm
aWxlIHRocmVhZC5jcHAsIGxpbmUgMTIuClN0YXJ0aW5nIHByb2dyYW06IC9ob21lL3J5YW4vZXhw
ZXJpbWVudHMvYS5vdXQgCm1haW4gKCkgYXQgdGhyZWFkLmNwcDoxMgoxMgkgIGludCBlcnIgPSBw
dGhyZWFkX2NyZWF0ZSgmdGlkLCBOVUxMLCAmcnVuLCAmdGlkKTsKKGdkYikgY29udApDb250aW51
aW5nLgoKQnJlYWtwb2ludCAzLCBtYWluICgpIGF0IHRocmVhZC5jcHA6MTUKMTUJICBlcnIgPSBw
dGhyZWFkX2pvaW4odGlkLCAmcmVzdWx0KTsKKGdkYikgY29udApDb250aW51aW5nLgpydW4oMHhm
ZmZmZjk1Y2U1OCkgY2FsbGVkCnJ1bigpIHJldHVybmVkIDB4ZmZmZmY5NWNlNTgKClByb2dyYW0g
ZXhpdGVkIG5vcm1hbGx5LgooZ2RiKSBxdWl0CgpbcnlhbkBjcmV0ZV0gfi9leHBlcmltZW50cwok
IGV4aXQKClNjcmlwdCBkb25lIG9uIFRodSBOb3YgMjkgMTM6NDU6MzMgMjAwNwo=


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]