[Bug 248745] /usr/bin/lldb: Dumps core when attempting to print variable with `p`, `fr v` works

2021-04-06 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248745

Mark Johnston  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|In Progress |Closed
 CC||ma...@freebsd.org

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 248745] /usr/bin/lldb: Dumps core when attempting to print variable with `p`, `fr v` works

2021-04-06 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248745

--- Comment #9 from commit-h...@freebsd.org ---
A commit in branch releng/12.2 references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=f1d1353d2d7b84434cb7d6bb003d6f560bfc83e3

commit f1d1353d2d7b84434cb7d6bb003d6f560bfc83e3
Author: Dimitry Andric 
AuthorDate: 2020-10-31 18:42:03 +
Commit: Mark Johnston 
CommitDate: 2021-04-06 19:01:24 +

MFC r364480:

Merge commit 1ce07cd614be from llvm git (by me):

  Instantiate Error in Target::GetEntryPointAddress() only when
  necessary

  When Target::GetEntryPointAddress() calls
  exe_module->GetObjectFile()->GetEntryPointAddress(), and the returned
  entry_addr is valid, it can immediately be returned.

  However, just before that, an llvm::Error value has been setup, but
  in this case it is not consumed before returning, like is done
  further below in the function.

  In https://bugs.freebsd.org/248745 we got a bug report for this,
  where a very simple test case aborts and dumps core:

  * thread #1, name = 'testcase', stop reason = breakpoint 1.1
  frame #0: 0x002018d4 testcase`main(argc=1,
argv=0x7fffea18) at testcase.c:3:5
 1int main(int argc, char *argv[])
 2{
  -> 3return 0;
 4}
  (lldb) p argc
  Program aborted due to an unhandled Error:
  Error value was Success. (Note: Success values must still be checked
prior to being destroyed).

  Thread 1 received signal SIGABRT, Aborted.
  thr_kill () at thr_kill.S:3
  3   thr_kill.S: No such file or directory.
  (gdb) bt
  #0  thr_kill () at thr_kill.S:3
  #1  0x0008049a0004 in __raise (s=6) at
/usr/src/lib/libc/gen/raise.c:52
  #2  0x000804916229 in abort () at /usr/src/lib/libc/stdlib/abort.c:67
  #3  0x0451b5f5 in fatalUncheckedError () at
/usr/src/contrib/llvm-project/llvm/lib/Support/Error.cpp:112
  #4  0x019cf008 in GetEntryPointAddress () at
/usr/src/contrib/llvm-project/llvm/include/llvm/Support/Error.h:267
  #5  0x01bccbd8 in ConstructorSetup () at
/usr/src/contrib/llvm-project/lldb/source/Target/ThreadPlanCallFunction.cpp:67
  #6  0x01bcd2c0 in ThreadPlanCallFunction () at
/usr/src/contrib/llvm-project/lldb/source/Target/ThreadPlanCallFunction.cpp:114
  #7  0x020076d4 in InferiorCallMmap () at
/usr/src/contrib/llvm-project/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp:97
  #8  0x01f4be33 in DoAllocateMemory () at
/usr/src/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp:604
  #9  0x01fe51b9 in AllocatePage () at
/usr/src/contrib/llvm-project/lldb/source/Target/Memory.cpp:347
  #10 0x01fe5385 in AllocateMemory () at
/usr/src/contrib/llvm-project/lldb/source/Target/Memory.cpp:383
  #11 0x01974da2 in AllocateMemory () at
/usr/src/contrib/llvm-project/lldb/source/Target/Process.cpp:2301
  #12 CanJIT () at
/usr/src/contrib/llvm-project/lldb/source/Target/Process.cpp:2331
  #13 0x01a1bf3d in Evaluate () at
/usr/src/contrib/llvm-project/lldb/source/Expression/UserExpression.cpp:190
  #14 0x019ce7a2 in EvaluateExpression () at
/usr/src/contrib/llvm-project/lldb/source/Target/Target.cpp:2372
  #15 0x01ad784c in EvaluateExpression () at
/usr/src/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:414
  #16 0x01ad86ae in DoExecute () at
/usr/src/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:646
  #17 0x01a5e3ed in Execute () at
/usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandObject.cpp:1003
  #18 0x01a6c4a3 in HandleCommand () at
/usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:1762
  #19 0x01a6f98c in IOHandlerInputComplete () at
/usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:2760
  #20 0x01a90b08 in Run () at
/usr/src/contrib/llvm-project/lldb/source/Core/IOHandler.cpp:548
  #21 0x019a6c6a in ExecuteIOHandlers () at
/usr/src/contrib/llvm-project/lldb/source/Core/Debugger.cpp:903
  #22 0x01a70337 in RunCommandInterpreter () at
/usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:2946
  #23 0x01d9d812 in RunCommandInterpreter () at
/usr/src/contrib/llvm-project/lldb/source/API/SBDebugger.cpp:1169
  #24 0x01918be8 in MainLoop () at
/usr/src/contrib/llvm-project/lldb/tools/driver/Driver.cpp:675
  #25 0x0191a114 in main () at
/usr/src/contrib/llvm-project/lldb/tools/driver/Driver.cpp:890

  Fix the incorrect error catch by only instantiating an Error object
  if it is necessary.

  Reviewed By: JDevlieghere

  Differential Revision: https://reviews.llvm.org/D86355

This should fix lldb aborting as 

[Bug 248745] /usr/bin/lldb: Dumps core when attempting to print variable with `p`, `fr v` works

2021-03-14 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248745

Kubilay Kocak  changed:

   What|Removed |Added

 CC||o...@j.email.ne.jp

--- Comment #8 from Kubilay Kocak  ---
*** Bug 254080 has been marked as a duplicate of this bug. ***

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 248745] /usr/bin/lldb: Dumps core when attempting to print variable with `p`, `fr v` works

2021-03-14 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248745

Kubilay Kocak  changed:

   What|Removed |Added

 Resolution|FIXED   |---
 Status|Closed  |In Progress

--- Comment #7 from Kubilay Kocak  ---
^Triage: Re-open for next round of EN's per bug 254080 comment 2 and per bug
254080 comment 4

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 248745] /usr/bin/lldb: Dumps core when attempting to print variable with `p`, `fr v` works

2020-10-31 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248745

Kubilay Kocak  changed:

   What|Removed |Added

  Flags|mfc-stable12?   |mfc-stable12+,
   ||mfc-stable11+

--- Comment #6 from Kubilay Kocak  ---
^Triage: Tracker MFC's

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 248745] /usr/bin/lldb: Dumps core when attempting to print variable with `p`, `fr v` works

2020-10-31 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248745

Dimitry Andric  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|In Progress |Closed

--- Comment #5 from Dimitry Andric  ---
Sorry for being late on this one, it's a pity it didn't make 12.2-RELEASE.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 248745] /usr/bin/lldb: Dumps core when attempting to print variable with `p`, `fr v` works

2020-10-31 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248745

--- Comment #4 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Sat Oct 31 18:42:04 UTC 2020
New revision: 367228
URL: https://svnweb.freebsd.org/changeset/base/367228

Log:
  MFC r364480:

  Merge commit 1ce07cd614be from llvm git (by me):

Instantiate Error in Target::GetEntryPointAddress() only when
necessary

When Target::GetEntryPointAddress() calls
exe_module->GetObjectFile()->GetEntryPointAddress(), and the returned
entry_addr is valid, it can immediately be returned.

However, just before that, an llvm::Error value has been setup, but
in this case it is not consumed before returning, like is done
further below in the function.

In https://bugs.freebsd.org/248745 we got a bug report for this,
where a very simple test case aborts and dumps core:

* thread #1, name = 'testcase', stop reason = breakpoint 1.1
frame #0: 0x002018d4 testcase`main(argc=1,
argv=0x7fffea18) at testcase.c:3:5
   1int main(int argc, char *argv[])
   2{
-> 3return 0;
   4}
(lldb) p argc
Program aborted due to an unhandled Error:
Error value was Success. (Note: Success values must still be checked prior
to being destroyed).

Thread 1 received signal SIGABRT, Aborted.
thr_kill () at thr_kill.S:3
3   thr_kill.S: No such file or directory.
(gdb) bt
#0  thr_kill () at thr_kill.S:3
#1  0x0008049a0004 in __raise (s=6) at /usr/src/lib/libc/gen/raise.c:52
#2  0x000804916229 in abort () at /usr/src/lib/libc/stdlib/abort.c:67
#3  0x0451b5f5 in fatalUncheckedError () at
/usr/src/contrib/llvm-project/llvm/lib/Support/Error.cpp:112
#4  0x019cf008 in GetEntryPointAddress () at
/usr/src/contrib/llvm-project/llvm/include/llvm/Support/Error.h:267
#5  0x01bccbd8 in ConstructorSetup () at
/usr/src/contrib/llvm-project/lldb/source/Target/ThreadPlanCallFunction.cpp:67
#6  0x01bcd2c0 in ThreadPlanCallFunction () at
/usr/src/contrib/llvm-project/lldb/source/Target/ThreadPlanCallFunction.cpp:114
#7  0x020076d4 in InferiorCallMmap () at
/usr/src/contrib/llvm-project/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp:97
#8  0x01f4be33 in DoAllocateMemory () at
/usr/src/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp:604
#9  0x01fe51b9 in AllocatePage () at
/usr/src/contrib/llvm-project/lldb/source/Target/Memory.cpp:347
#10 0x01fe5385 in AllocateMemory () at
/usr/src/contrib/llvm-project/lldb/source/Target/Memory.cpp:383
#11 0x01974da2 in AllocateMemory () at
/usr/src/contrib/llvm-project/lldb/source/Target/Process.cpp:2301
#12 CanJIT () at
/usr/src/contrib/llvm-project/lldb/source/Target/Process.cpp:2331
#13 0x01a1bf3d in Evaluate () at
/usr/src/contrib/llvm-project/lldb/source/Expression/UserExpression.cpp:190
#14 0x019ce7a2 in EvaluateExpression () at
/usr/src/contrib/llvm-project/lldb/source/Target/Target.cpp:2372
#15 0x01ad784c in EvaluateExpression () at
/usr/src/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:414
#16 0x01ad86ae in DoExecute () at
/usr/src/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:646
#17 0x01a5e3ed in Execute () at
/usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandObject.cpp:1003
#18 0x01a6c4a3 in HandleCommand () at
/usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:1762
#19 0x01a6f98c in IOHandlerInputComplete () at
/usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:2760
#20 0x01a90b08 in Run () at
/usr/src/contrib/llvm-project/lldb/source/Core/IOHandler.cpp:548
#21 0x019a6c6a in ExecuteIOHandlers () at
/usr/src/contrib/llvm-project/lldb/source/Core/Debugger.cpp:903
#22 0x01a70337 in RunCommandInterpreter () at
/usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:2946
#23 0x01d9d812 in RunCommandInterpreter () at
/usr/src/contrib/llvm-project/lldb/source/API/SBDebugger.cpp:1169
#24 0x01918be8 in MainLoop () at
/usr/src/contrib/llvm-project/lldb/tools/driver/Driver.cpp:675
#25 0x0191a114 in main () at
/usr/src/contrib/llvm-project/lldb/tools/driver/Driver.cpp:890

Fix the incorrect error catch by only instantiating an Error object
if it is necessary.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D86355

  This should fix lldb aborting as described in the scenario above.

  Reported by:  dmgk
  PR:   248745

Changes:
_U  stable/11/
_U  stable/11/contrib/llvm-project/lldb/
  stable/11/contrib/llvm-project/lldb/source/Target/Target.cpp
_U  stable/12/
  

[Bug 248745] /usr/bin/lldb: Dumps core when attempting to print variable with `p`, `fr v` works

2020-10-31 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248745

--- Comment #3 from Dimitry Andric  ---
Hmm I never MFC'd this, apparently. It must have slipped through the cracks...

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 248745] /usr/bin/lldb: Dumps core when attempting to print variable with `p`, `fr v` works

2020-10-30 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248745

--- Comment #2 from Nick Briggs  ---
This is still present in 12.2-RELEASE (same version of lldb)--

$ lldb --version
lldb version 10.0.1 (g...@github.com:llvm/llvm-project.git revision
llvmorg-10.0.1-0-gef32c611aa2)
  clang revision llvmorg-10.0.1-0-gef32c611aa2
  llvm revision llvmorg-10.0.1-0-gef32c611aa2

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 248745] /usr/bin/lldb: Dumps core when attempting to print variable with `p`, `fr v` works

2020-08-23 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248745

Kubilay Kocak  changed:

   What|Removed |Added

 Status|New |In Progress
 CC||toolch...@freebsd.org
Summary|/usr/bin/lldb dumps core|/usr/bin/lldb: Dumps core
   |when attempting to print|when attempting to print
   |variable with `p`, `fr v`   |variable with `p`, `fr v`
   |works   |works
   Keywords||crash
   Severity|Affects Only Me |Affects Some People
URL||https://reviews.llvm.org/D8
   ||6355
  Flags||mfc-stable12?
   Assignee|toolch...@freebsd.org   |d...@freebsd.org

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 248745] /usr/bin/lldb dumps core when attempting to print variable with `p`, `fr v` works

2020-08-22 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248745

--- Comment #1 from commit-h...@freebsd.org ---
A commit references this bug:

Author: dim
Date: Sat Aug 22 10:55:55 UTC 2020
New revision: 364480
URL: https://svnweb.freebsd.org/changeset/base/364480

Log:
  Merge commit 1ce07cd614be from llvm git (by me):

Instantiate Error in Target::GetEntryPointAddress() only when
necessary

When Target::GetEntryPointAddress() calls
exe_module->GetObjectFile()->GetEntryPointAddress(), and the returned
entry_addr is valid, it can immediately be returned.

However, just before that, an llvm::Error value has been setup, but
in this case it is not consumed before returning, like is done
further below in the function.

In https://bugs.freebsd.org/248745 we got a bug report for this,
where a very simple test case aborts and dumps core:

* thread #1, name = 'testcase', stop reason = breakpoint 1.1
frame #0: 0x002018d4 testcase`main(argc=1,
argv=0x7fffea18) at testcase.c:3:5
   1int main(int argc, char *argv[])
   2{
-> 3return 0;
   4}
(lldb) p argc
Program aborted due to an unhandled Error:
Error value was Success. (Note: Success values must still be checked prior
to being destroyed).

Thread 1 received signal SIGABRT, Aborted.
thr_kill () at thr_kill.S:3
3   thr_kill.S: No such file or directory.
(gdb) bt
#0  thr_kill () at thr_kill.S:3
#1  0x0008049a0004 in __raise (s=6) at /usr/src/lib/libc/gen/raise.c:52
#2  0x000804916229 in abort () at /usr/src/lib/libc/stdlib/abort.c:67
#3  0x0451b5f5 in fatalUncheckedError () at
/usr/src/contrib/llvm-project/llvm/lib/Support/Error.cpp:112
#4  0x019cf008 in GetEntryPointAddress () at
/usr/src/contrib/llvm-project/llvm/include/llvm/Support/Error.h:267
#5  0x01bccbd8 in ConstructorSetup () at
/usr/src/contrib/llvm-project/lldb/source/Target/ThreadPlanCallFunction.cpp:67
#6  0x01bcd2c0 in ThreadPlanCallFunction () at
/usr/src/contrib/llvm-project/lldb/source/Target/ThreadPlanCallFunction.cpp:114
#7  0x020076d4 in InferiorCallMmap () at
/usr/src/contrib/llvm-project/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp:97
#8  0x01f4be33 in DoAllocateMemory () at
/usr/src/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp:604
#9  0x01fe51b9 in AllocatePage () at
/usr/src/contrib/llvm-project/lldb/source/Target/Memory.cpp:347
#10 0x01fe5385 in AllocateMemory () at
/usr/src/contrib/llvm-project/lldb/source/Target/Memory.cpp:383
#11 0x01974da2 in AllocateMemory () at
/usr/src/contrib/llvm-project/lldb/source/Target/Process.cpp:2301
#12 CanJIT () at
/usr/src/contrib/llvm-project/lldb/source/Target/Process.cpp:2331
#13 0x01a1bf3d in Evaluate () at
/usr/src/contrib/llvm-project/lldb/source/Expression/UserExpression.cpp:190
#14 0x019ce7a2 in EvaluateExpression () at
/usr/src/contrib/llvm-project/lldb/source/Target/Target.cpp:2372
#15 0x01ad784c in EvaluateExpression () at
/usr/src/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:414
#16 0x01ad86ae in DoExecute () at
/usr/src/contrib/llvm-project/lldb/source/Commands/CommandObjectExpression.cpp:646
#17 0x01a5e3ed in Execute () at
/usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandObject.cpp:1003
#18 0x01a6c4a3 in HandleCommand () at
/usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:1762
#19 0x01a6f98c in IOHandlerInputComplete () at
/usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:2760
#20 0x01a90b08 in Run () at
/usr/src/contrib/llvm-project/lldb/source/Core/IOHandler.cpp:548
#21 0x019a6c6a in ExecuteIOHandlers () at
/usr/src/contrib/llvm-project/lldb/source/Core/Debugger.cpp:903
#22 0x01a70337 in RunCommandInterpreter () at
/usr/src/contrib/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:2946
#23 0x01d9d812 in RunCommandInterpreter () at
/usr/src/contrib/llvm-project/lldb/source/API/SBDebugger.cpp:1169
#24 0x01918be8 in MainLoop () at
/usr/src/contrib/llvm-project/lldb/tools/driver/Driver.cpp:675
#25 0x0191a114 in main () at
/usr/src/contrib/llvm-project/lldb/tools/driver/Driver.cpp:890

Fix the incorrect error catch by only instantiating an Error object
if it is necessary.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D86355

  This should fix lldb aborting as described in the scenario above.

  Reported by:  dmgk
  PR:   248745

Changes:
  head/contrib/llvm-project/lldb/source/Target/Target.cpp

-- 
You are receiving this mail because:
You are the assignee for the bug.
___

[Bug 248745] /usr/bin/lldb dumps core when attempting to print variable with `p`, `fr v` works

2020-08-20 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248745

Mark Linimon  changed:

   What|Removed |Added

   Assignee|b...@freebsd.org|toolch...@freebsd.org

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"