Skip to content

Instantly share code, notes, and snippets.

@mizhka
Last active December 8, 2017 15:02
Show Gist options
  • Save mizhka/82711c1dcd9f7a466047125891c0dbfc to your computer and use it in GitHub Desktop.
Save mizhka/82711c1dcd9f7a466047125891c0dbfc to your computer and use it in GitHub Desktop.
[mizhka@gidrarium ~/temp/20170725/pstack]$ ./pstack -v -T 101293 8142
8142: /usr/local/lib/firefox/firefox
----------------- thread 101293 (running) -----------------
0x8021390a4 0x7fffd5a45d70 _init (2135138, 8, 80, 0, 250b6ac5, 8) + 144e7c in libc.so.7
0x802135138 0x7fffd5a45d90 __call_hash (2131ff2, 8, 0, 0, 1045, 0) + 18 in libc.so.7
0x802131ff2 0x7fffd5a45e80 __split_page (2135757, 8, 6d, 0, 6d, 0) + 4b2 in libc.so.7
0x802135757 0x7fffd5a45f10 _init (1edce556, 8, 11b0ef20, 8, 2394ba0, 8) + 14152f in libc.so.7
0x81edce556 0x7fffd5a460d0 ???????? (1eddc3fb, 8, d5a46110, 7fff, 40f8e020, 8) in libnssdbm3.so
0x81eddc3fb 0x7fffd5a46170 ???????? (1eddfc4c, 8, 4bddd3d0, 8, 16, 0) in libnssdbm3.so
0x81eddfc4c 0x7fffd5a46220 ???????? (1eddc535, 8, 0, 0, 1eff0fa0, 8) in libnssdbm3.so
0x81eddc535 0x7fffd5a46260 ???????? (1eddc4a1, 8, 0, 0, b, 0) in libnssdbm3.so
0x81eddc4a1 0x7fffd5a46290 ???????? (1edd4c1a, 8, 1, 0, 1, 0) in libnssdbm3.so
0x81edd4c1a 0x7fffd5a463a0 ???????? (1ebacaac, 8, 0, 0, 1e832420, 8) in libnssdbm3.so
0x81ebacaac 0x7fffd5a46410 ???????? (1eb9298e, 8, 5f456f02, e83c0b39, 5f456f02, e83c0b39) in libsoftokn3.so
0x81eb9298e 0x7fffd5a465e0 ???????? (1eb97982, 8, d5a46640, 7fff, 1eb97051, 8) in libsoftokn3.so
0x81eb97982 0x7fffd5a46690 ???????? (12fa31c4, 8, d5a466c0, 7fff, 0, 0) in libsoftokn3.so
0x812fa31c4 0x7fffd5a466e0 ???????? (12fa2cf7, 8, 1, 0, 1302e750, 8) in libnss3.so
0x812fa2cf7 0x7fffd5a46840 ???????? (12f61725, 8, 492fc0f8, 8, 492fc108, 8) in libnss3.so
0x812f61725 0x7fffd5a46900 PK11_ImportCert (d560ff7, 8, d5a46930, 7fff, 15, 10011) + 185 in libnss3.so
0x80d560ff7 0x7fffd5a469a0 mozilla::psm::SaveIntermediateCerts(std::__1::unique_ptr<CERTCertListStr, mozilla::UniqueCERTCertListDeletePolicy> const&) (d560f0d, 8, 1, 0, 5f456f02, 13c0b39) + d7 in libxul.so
0x80d560f0d 0x7fffd5a46a20 mozilla::psm::CertVerifier::VerifySSLServerCert(std::__1::unique_ptr<CERTCertificateStr, mozilla::UniqueCERTCertificateDeletePolicy> const&, SECItemStr const*, SECItemStr const, mozilla::pkix::Time, void*, char const*, std::__1<CERTCertListStr, mozilla::UniqueCERTCertListDeletePolicy>&, bool, unsigned int, mozilla::OriginAttributes const&, SECOidTag*, mozilla::psm::CertVerifier::OCSPStaplingStatus*, mozilla::psm::KeySizeStatus*, mozilla::psm::SHA1ModeResult*, mozilla::psm::PinningTelemetryInfo*, mozilla::psm::CertificateTransparencyInfo*) (fd14bba, 8, 5f97a4e0, 8, d5a46aa0, 7fff) + 21d in libxul.so
0x80fd14bba 0x7fffd5a46ce0 mozilla::psm::(anonymous namespace)::AuthCertificate(mozilla::psm::CertVerifier&, nsNSSSocketInfo*, std::__1::unique_ptr<CERTCertificateStr, mozilla::UniqueCERTCertificateDeletePolicy> const&, std::__1<CERTCertListStr, mozilla::UniqueCERTCertListDeletePolicy>&, SECItemStr const*, SECItemStr const, unsigned int, mozilla::pkix::Time) (fd1d662, 8, 0, 0, d166cd76, e) + 15a in libxul.so
0x80fd1d662 0x7fffd5a46d50 mozilla::psm::(anonymous namespace)::SSLServerCertVerificationJob::Run(void) (d5f3ee4, 8, 11b3b280, 8, 0, 2027e5a6) + 1b2 in libxul.so
0x80d5f3ee4 0x7fffd5a46dd0 nsThreadPool::Run(void) (d5f401a, 8, 115fbce0, 8, d5f1a7b, 8) + 424 in libxul.so
0x80d5f401a 0x7fffd5a46de0 virtual function non-virtual override offset : -8 nsThreadPool::Run(void) (d5f1a7b, 8, d5a46e60, 7fff, 1cca6dd8, 8) + a in libxul.so
0x80d5f1a7b 0x7fffd5a46e90 nsThread::ProcessNextEvent(bool, bool*) (d5f0d2d, 8, 1162e298, 8, 1cca6f00, 1000008) + 2db in libxul.so
0x80d5f0d2d 0x7fffd5a46ec0 NS_ProcessNextEvent(nsIThread*, bool) (d8d67ab, 8, 115fa818, 8, 10854cb8, 8) + 3d in libxul.so
0x80d8d67ab 0x7fffd5a46f10 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) (d8b6b89, 8, 1, 0, 1cca6f00, 8) + fb in libxul.so
0x80d8b6b89 0x7fffd5a46f30 MessageLoop::Run(void) (d5efe5b, 8, 0, 0, 1cca6dd8, 8) + 49 in libxul.so
0x80d5efe5b 0x7fffd5a46f80 nsThread::ThreadFunc(void*) (128a6615, 8, 306291f0, 8, 2940fb01, 8) + 17b in libxul.so
0x8128a6615 0x7fffd5a46fb0 _init (1d9ac45, 8, 0, 0, 0, 0) + 1fdb5 in libnspr4.so
0x801d9ac45 0x7fffd5a46ff0 _init (d5847000, 7fff) + 1b45 in libthr.so.3
[mizhka@gidrarium ~/temp/20170725/pstack]$ pkg info firefox | grep Version
Version : 54.0.1_1,1
[Switching to LWP 102035 of process 57595]
hash4 (key=<optimized out>, len=<optimized out>) at /usr/src/lib/libc/db/hash/hash_func.c:182
182 HASH4;
(gdb) bt
#0 hash4 (key=<optimized out>, len=<optimized out>) at /usr/src/lib/libc/db/hash/hash_func.c:182
#1 0x0000000802141138 in __call_hash (hashp=0x8298d9200, k=0x82274e0c5 "ost1\035\060\033\006\003U\004\003\023\024DPDHL TLS SHA2 CA I3\b\002", len=-114585513)
at /usr/src/lib/libc/db/hash/hash.c:863
#2 0x000000080213dff2 in ugly_split (hashp=0x8298d9200, obucket=15, old_bufp=<optimized out>, new_bufp=0x81236a330, moved=0, copyto=<optimized out>)
at /usr/src/lib/libc/db/hash/hash_page.c:356
#3 __split_page (hashp=0x8298d9200, obucket=15, nbucket=<optimized out>) at /usr/src/lib/libc/db/hash/hash_page.c:212
#4 0x0000000802141757 in hash_access (hashp=<optimized out>, action=HASH_PUT, key=0x7fffffff8868, val=0x7fffffff8858) at /usr/src/lib/libc/db/hash/hash.c:651
#5 0x0000000829d6851d in dbs_put (dbs=<optimized out>, key=0x7fffffff8868, data=<optimized out>, flags=0) at dbmshim.c:228
#6 0x0000000829d76457 in certdb_Put (flags=0, db=<optimized out>, key=<optimized out>, data=<optimized out>) at pcertdb.c:249
#7 WriteDBEntry (handle=0x829fa2420, entry=<optimized out>, dbkey=<optimized out>, dbentry=<optimized out>) at pcertdb.c:549
#8 WriteDBCertEntry (handle=0x829fa2420, entry=0x81feacc20) at pcertdb.c:966
#9 0x0000000829d7a317 in AddCertToPermDB (handle=<optimized out>, cert=0x8314c6000, nickname=0x84ab38aa0 "www.bsdwrt.org", trust=0x7fffffff8ab0) at pcertdb.c:3332
#10 0x0000000829d765f8 in nsslowcert_UpdatePermCert (dbhandle=0x829fa2420, cert=0x8314c6000, nickname=0x84ab38aa0 "www.bsdwrt.org", trust=0x7fffffff8ab0)
at pcertdb.c:4537
#11 0x0000000829d76521 in nsslowcert_AddPermCert (dbhandle=0x829fa2420, cert=0x802164f00, nickname=0xf92b9057 <error: Cannot access memory at address 0xf92b9057>,
trust=0x5) at pcertdb.c:4565
#12 0x0000000829d6e96b in lg_createCertObject (sdb=0x829b03320, handle=<optimized out>, templ=0x8194fa0a0, count=11) at lgcreate.c:98
#13 lg_CreateObject (sdb=0x829b03320, handle=0x88b330018, templ=0x8194fa0a0, count=11) at lgcreate.c:984
#14 0x0000000829b451ec in sftkdb_CreateObject (arena=<optimized out>, handle=<optimized out>, db=<optimized out>, objectID=0x88b330018, template=<optimized out>,
count=11) at sftkdb.c:574
#15 sftkdb_write (handle=0x825b45d00, object=<optimized out>, objectID=0x88b330018) at sftkdb.c:1172
#16 0x0000000829b2956f in sftk_handleObject (object=0x88b330000, session=0x8831c2520) at pkcs11.c:808
#17 0x0000000829b2ee38 in NSC_CreateObject (hSession=16780376, pTemplate=<optimized out>, ulCount=<optimized out>, phObject=0x7fffffff8e08) at pkcs11.c:4300
#18 0x00000008137fb43d in import_object (tok=0x829f8c830, sessionOpt=<optimized out>, objectTemplate=0x7fffffff8e50, otsize=9) at devtoken.c:202
#19 0x00000008137faf88 in nssToken_ImportCertificate (tok=0x829f8c830, sessionOpt=0x0, certType=<optimized out>, id=<optimized out>, nickname=<optimized out>,
encoding=<optimized out>, issuer=<optimized out>, subject=<optimized out>, serial=0x823a94118, email=<optimized out>, asTokenObject=<optimized out>)
at devtoken.c:544
#20 0x00000008137b7dd5 in PK11_ImportCert (slot=<optimized out>, cert=0x825e63020, key=0, nickname=0x7fffffff9180 "www.bsdwrt.org", includeTrust=<optimized out>)
at pk11cert.c:1089
#21 0x000000080fee5808 in nsCertOverrideService::RememberValidityOverride(nsTSubstring<char> const&, int, nsIX509Cert*, unsigned int, bool) ()
from /usr/local/lib/firefox/libxul.so
#22 0x000000080d60c206 in NS_InvokeByIndex () from /usr/local/lib/firefox/libxul.so
#23 0x000000080dbb424f in XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) () from /usr/local/lib/firefox/libxul.so
#24 0x000000080dbb5c19 in XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*) () from /usr/local/lib/firefox/libxul.so
#25 0x00000008102cae2e in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) () from /usr/local/lib/firefox/libxul.so
#26 0x00000008102c5310 in Interpret(JSContext*, js::RunState&) () from /usr/local/lib/firefox/libxul.so
#27 0x00000008102bbee7 in js::RunScript(JSContext*, js::RunState&) () from /usr/local/lib/firefox/libxul.so
#28 0x00000008102caebb in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) () from /usr/local/lib/firefox/libxul.so
#29 0x00000008102cb0e9 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) ()
from /usr/local/lib/firefox/libxul.so
#30 0x00000008105fa7cd in JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) ()
---Type <return> to continue, or q <return> to quit---
from /usr/local/lib/firefox/libxul.so
#31 0x000000080e77e94d in mozilla::dom::EventListener::HandleEvent(JSContext*, JS::Handle<JS::Value>, mozilla::dom::Event&, mozilla::ErrorResult&) ()
from /usr/local/lib/firefox/libxul.so
#32 0x000000080ea766a5 in mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener*, nsIDOMEvent*, mozilla::dom::EventTarget*) ()
from /usr/local/lib/firefox/libxul.so
#33 0x000000080ea76ffc in mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, nsIDOMEvent**, mozilla::dom::EventTarget*, nsEventStatus*) () from /usr/local/lib/firefox/libxul.so
#34 0x000000080ea6cdc8 in mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) () from /usr/local/lib/firefox/libxul.so
#35 0x000000080ea6dd54 in mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, nsIDOMEvent*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) () from /usr/local/lib/firefox/libxul.so
#36 0x000000080ea5f387 in mozilla::EventDispatcher::DispatchDOMEvent(nsISupports*, mozilla::WidgetEvent*, nsIDOMEvent*, nsPresContext*, nsEventStatus*) ()
from /usr/local/lib/firefox/libxul.so
#37 0x000000080f454ae1 in mozilla::PresShell::HandleDOMEventWithTarget(nsIContent*, nsIDOMEvent*, nsEventStatus*) () from /usr/local/lib/firefox/libxul.so
#38 0x000000080e02bee2 in nsContentUtils::DispatchXULCommand(nsIContent*, bool, nsIDOMEvent*, nsIPresShell*, bool, bool, bool, bool, unsigned short) ()
from /usr/local/lib/firefox/libxul.so
#39 0x000000080f640f93 in nsButtonBoxFrame::DoMouseClick(mozilla::WidgetGUIEvent*, bool) () from /usr/local/lib/firefox/libxul.so
#40 0x000000080f640e1f in nsButtonBoxFrame::HandleEvent(nsPresContext*, mozilla::WidgetGUIEvent*, nsEventStatus*) () from /usr/local/lib/firefox/libxul.so
#41 0x000000080ea6cf59 in mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) () from /usr/local/lib/firefox/libxul.so
#42 0x000000080ea6dd54 in mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, nsIDOMEvent*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) () from /usr/local/lib/firefox/libxul.so
#43 0x000000080f45482c in mozilla::PresShell::DispatchEventToDOM(mozilla::WidgetEvent*, nsEventStatus*, nsPresShellEventCB*) () from /usr/local/lib/firefox/libxul.so
#44 0x000000080f4533e1 in mozilla::PresShell::HandleEventInternal(mozilla::WidgetEvent*, nsEventStatus*, bool) () from /usr/local/lib/firefox/libxul.so
#45 0x000000080f453e69 in mozilla::PresShell::HandleEventWithTarget(mozilla::WidgetEvent*, nsIFrame*, nsIContent*, nsEventStatus*) ()
from /usr/local/lib/firefox/libxul.so
#46 0x000000080ea50d42 in mozilla::EventStateManager::InitAndDispatchClickEvent(mozilla::WidgetMouseEvent*, nsEventStatus*, mozilla::EventMessage, nsIPresShell*, nsIContent*, AutoWeakFrame, bool) () from /usr/local/lib/firefox/libxul.so
#47 0x000000080ea4ee75 in mozilla::EventStateManager::CheckForAndDispatchClick(mozilla::WidgetMouseEvent*, nsEventStatus*) () from /usr/local/lib/firefox/libxul.so
#48 0x000000080ea4d8d7 in mozilla::EventStateManager::PostHandleEvent(nsPresContext*, mozilla::WidgetEvent*, nsIFrame*, nsEventStatus*) ()
from /usr/local/lib/firefox/libxul.so
#49 0x000000080f4534d7 in mozilla::PresShell::HandleEventInternal(mozilla::WidgetEvent*, nsEventStatus*, bool) () from /usr/local/lib/firefox/libxul.so
#50 0x000000080f453c0c in mozilla::PresShell::HandlePositionedEvent(nsIFrame*, mozilla::WidgetGUIEvent*, nsEventStatus*) () from /usr/local/lib/firefox/libxul.so
#51 0x000000080f452b16 in mozilla::PresShell::HandleEvent(nsIFrame*, mozilla::WidgetGUIEvent*, bool, nsEventStatus*, nsIContent**) ()
from /usr/local/lib/firefox/libxul.so
#52 0x000000080f1e889d in nsViewManager::DispatchEvent(mozilla::WidgetGUIEvent*, nsView*, nsEventStatus*) () from /usr/local/lib/firefox/libxul.so
#53 0x000000080f1e8690 in nsView::HandleEvent(mozilla::WidgetGUIEvent*, bool) () from /usr/local/lib/firefox/libxul.so
#54 0x000000080f21e9d4 in nsWindow::DispatchEvent(mozilla::WidgetGUIEvent*, nsEventStatus&) () from /usr/local/lib/firefox/libxul.so
#55 0x000000080f1ef6c4 in nsBaseWidget::DispatchInputEvent(mozilla::WidgetInputEvent*) () from /usr/local/lib/firefox/libxul.so
#56 0x000000080f225c25 in nsWindow::OnButtonReleaseEvent(_GdkEventButton*) () from /usr/local/lib/firefox/libxul.so
#57 0x000000080f229e78 in button_release_event_cb(_GtkWidget*, _GdkEventButton*) () from /usr/local/lib/firefox/libxul.so
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb) finish
Run till exit from #0 hash4 (key=<optimized out>, len=<optimized out>) at /usr/src/lib/libc/db/hash/hash_func.c:182
__call_hash (hashp=0x8298d9200, k=<optimized out>, len=<optimized out>) at /usr/src/lib/libc/db/hash/hash.c:864
864 bucket = n & hashp->HIGH_MASK;
Value returned is $1 = 2273287311
(gdb) frame 0
#0 __call_hash (hashp=0x8298d9200, k=<optimized out>, len=<optimized out>) at /usr/src/lib/libc/db/hash/hash.c:864
864 bucket = n & hashp->HIGH_MASK;
(gdb) finish
Run till exit from #0 __call_hash (hashp=0x8298d9200, k=<optimized out>, len=<optimized out>) at /usr/src/lib/libc/db/hash/hash.c:864
0x000000080213dff2 in ugly_split (hashp=0x8298d9200, obucket=15, old_bufp=<optimized out>, new_bufp=0x81236a330, moved=0, copyto=<optimized out>)
at /usr/src/lib/libc/db/hash/hash_page.c:356
356 if (__call_hash(hashp, key.data, key.size) == obucket) {
Value returned is $2 = 15
(gdb) frame 0
#0 0x000000080213dff2 in ugly_split (hashp=0x8298d9200, obucket=15, old_bufp=<optimized out>, new_bufp=0x81236a330, moved=0, copyto=<optimized out>)
at /usr/src/lib/libc/db/hash/hash_page.c:356
356 if (__call_hash(hashp, key.data, key.size) == obucket) {
(gdb) frame 0
#0 0x000000080213dff2 in ugly_split (hashp=0x8298d9200, obucket=15, old_bufp=<optimized out>, new_bufp=0x81236a330, moved=0, copyto=<optimized out>)
at /usr/src/lib/libc/db/hash/hash_page.c:356
356 if (__call_hash(hashp, key.data, key.size) == obucket) {
(gdb) frame 0
#0 0x000000080213dff2 in ugly_split (hashp=0x8298d9200, obucket=15, old_bufp=<optimized out>, new_bufp=0x81236a330, moved=0, copyto=<optimized out>)
at /usr/src/lib/libc/db/hash/hash_page.c:356
356 if (__call_hash(hashp, key.data, key.size) == obucket) {
(gdb) next
358 if (PAIRFITS(op, (&key), (&val)))
(gdb) info locals
bufp = <optimized out>
op = 0x82274cc40
ino = <optimized out>
np = 0x82e065080
last_bfp = <optimized out>
n = <error reading variable n (Cannot access memory at address 0x1)>
scopyto = <optimized out>
ret = {
newp = 0x7fffffff8700,
oldp = 0x8021410c6 <__expand_table+230>,
nextp = 0x7fffffff8868,
next_addr = 16289
}
off = <optimized out>
(gdb) nexrt
Undefined command: "nexrt". Try "help".
(gdb) next
359 putpair((char *)op, &key, &val);
(gdb) next
348 for (n = 1; (n < ino[0]) && (ino[n + 1] >= REAL_KEY); n += 2) {
(gdb) next
350 key.data = (u_char *)cino + ino[n];
(gdb) next
351 key.size = off - ino[n];
(gdb) next
352 val.data = (u_char *)cino + ino[n + 1];
(gdb) next
353 val.size = ino[n] - ino[n + 1];
(gdb) next
356 if (__call_hash(hashp, key.data, key.size) == obucket) {
(gdb) next
358 if (PAIRFITS(op, (&key), (&val)))
(gdb) next
359 putpair((char *)op, &key, &val);
(gdb) next
348 for (n = 1; (n < ino[0]) && (ino[n + 1] >= REAL_KEY); n += 2) {
(gdb) next
350 key.data = (u_char *)cino + ino[n];
(gdb) next
351 key.size = off - ino[n];
(gdb) next
352 val.data = (u_char *)cino + ino[n + 1];
(gdb) next
353 val.size = ino[n] - ino[n + 1];
(gdb) next
356 if (__call_hash(hashp, key.data, key.size) == obucket) {
(gdb) next
358 if (PAIRFITS(op, (&key), (&val)))
(gdb) next
359 putpair((char *)op, &key, &val);
(gdb) next
348 for (n = 1; (n < ino[0]) && (ino[n + 1] >= REAL_KEY); n += 2) {
(gdb) next
350 key.data = (u_char *)cino + ino[n];
(gdb) next
351 key.size = off - ino[n];
(gdb) next
352 val.data = (u_char *)cino + ino[n + 1];
(gdb) next
353 val.size = ino[n] - ino[n + 1];
(gdb) next
356 if (__call_hash(hashp, key.data, key.size) == obucket) {
(gdb) next
358 if (PAIRFITS(op, (&key), (&val)))
(gdb) next
359 putpair((char *)op, &key, &val);
(gdb) next
348 for (n = 1; (n < ino[0]) && (ino[n + 1] >= REAL_KEY); n += 2) {
(gdb) next
350 key.data = (u_char *)cino + ino[n];
(gdb) next
351 key.size = off - ino[n];
(gdb) next
352 val.data = (u_char *)cino + ino[n + 1];
(gdb) next
353 val.size = ino[n] - ino[n + 1];
(gdb) next
356 if (__call_hash(hashp, key.data, key.size) == obucket) {
(gdb) next
358 if (PAIRFITS(op, (&key), (&val)))
(gdb) next
359 putpair((char *)op, &key, &val);
(gdb) next
348 for (n = 1; (n < ino[0]) && (ino[n + 1] >= REAL_KEY); n += 2) {
(gdb) next
350 key.data = (u_char *)cino + ino[n];
(gdb) next
351 key.size = off - ino[n];
(gdb) next
352 val.data = (u_char *)cino + ino[n + 1];
(gdb) next
353 val.size = ino[n] - ino[n + 1];
(gdb) next
356 if (__call_hash(hashp, key.data, key.size) == obucket) {
(gdb) next
358 if (PAIRFITS(op, (&key), (&val)))
(gdb) next
359 putpair((char *)op, &key, &val);
(gdb) next
348 for (n = 1; (n < ino[0]) && (ino[n + 1] >= REAL_KEY); n += 2) {
(gdb) info locals
bufp = <optimized out>
op = <optimized out>
ino = <optimized out>
np = <optimized out>
last_bfp = <optimized out>
n = <error reading variable n (Cannot access memory at address 0x1)>
scopyto = <optimized out>
ret = {
newp = 0x7fffffff8700,
oldp = 0x8021410c6 <__expand_table+230>,
nextp = 0x7fffffff8868,
next_addr = 16289
}
off = 4054
(gdb) info locals
bufp = <optimized out>
op = <optimized out>
ino = <optimized out>
np = <optimized out>
last_bfp = <optimized out>
n = <error reading variable n (Cannot access memory at address 0x1)>
scopyto = <optimized out>
ret = {
newp = 0x7fffffff8700,
oldp = 0x8021410c6 <__expand_table+230>,
nextp = 0x7fffffff8868,
next_addr = 16289
}
off = 4054
(gdb) next
350 key.data = (u_char *)cino + ino[n];
(gdb) info locals
bufp = <optimized out>
op = 0x82274cc40
ino = 0x82274cc40
np = 0x82e065080
last_bfp = <optimized out>
n = <error reading variable n (Cannot access memory at address 0x1)>
scopyto = <optimized out>
ret = {
newp = 0x7fffffff8700,
oldp = 0x8021410c6 <__expand_table+230>,
nextp = 0x7fffffff8868,
next_addr = 16289
}
off = <optimized out>
(gdb) print 0x82274cc40
$3 = 34937818176
(gdb) print ino
$4 = (u_int16_t *) 0x82274cc40
(gdb) print ino
$5 = (u_int16_t *) 0x82274cc40
(gdb) print ino[0]
$6 = 132
(gdb) print ino[1]
$7 = 16268
(gdb) print ino[2]
$8 = 16000
(gdb) print ino[3]
$9 = 15992
(gdb) print ino
$10 = (u_int16_t *) 0x82274cc40
(gdb)
$11 = (u_int16_t *) 0x82274cc40
(gdb) kill
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment