Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

win32 missing linfo lookup #17251

Closed
vtjnash opened this issue Jul 3, 2016 · 5 comments
Closed

win32 missing linfo lookup #17251

vtjnash opened this issue Jul 3, 2016 · 5 comments
Labels
system:windows Affects only Windows system:32-bit Affects only 32-bit systems

Comments

@vtjnash
Copy link
Member

vtjnash commented Jul 3, 2016

It's missing type info. This would be a regression in backtrace quality on win32 which is still somewhat widely used.

#17179 (comment)

@vtjnash vtjnash added system:windows Affects only Windows system:32-bit Affects only 32-bit systems labels Jul 3, 2016
@vtjnash vtjnash self-assigned this Jul 3, 2016
@tkelman
Copy link
Contributor

tkelman commented Jul 3, 2016

example comparison at #10595 (comment)

@vtjnash vtjnash removed their assignment Jul 18, 2016
@tkelman
Copy link
Contributor

tkelman commented Jul 18, 2016

care to elaborate on how far you got? kinda sucks to have backtraces contain less information on 32 bit

@vtjnash
Copy link
Member Author

vtjnash commented Jul 18, 2016

decided not to work on it as it seemed annoying and low value.

@tkelman
Copy link
Contributor

tkelman commented Jul 18, 2016

any breadcrumbs for how this might be fixed then? win32 is the 4th most widely used platform for julia, by a large margin over the 5th.

@vtjnash
Copy link
Member Author

vtjnash commented Jul 18, 2016

the basic idea would be to go through the symbol list and find the address of closest one, similar to

static uint64_t compute_obj_symsize(const object::ObjectFile *obj, uint64_t offset)
but returning lo instead of hi - lo (this is probably essentially what the dlsym call is doing)

(that logic would be added as another option for computing saddr @

if (saddr) {
)

tkelman added a commit that referenced this issue Jul 26, 2016
mfasi pushed a commit to mfasi/julia that referenced this issue Sep 5, 2016
yuyichao added a commit that referenced this issue Jun 23, 2017
* Add a (slow but cross-platform) fallback lookup method of function name and base address
  using LLVM debug info reader
* Remove windows exported symbol lookup that never worked for sysimg function address lookup
  (since they are never exported)

Fix #17251
Fix #20798
yuyichao added a commit that referenced this issue Jun 23, 2017
* Add a (slow but cross-platform) fallback lookup method of function name and base address
  using LLVM debug info reader
* Remove windows exported symbol lookup that never worked for sysimg function address lookup
  (since they are never exported)

Fix #17251
Fix #20798
yuyichao added a commit that referenced this issue Jun 23, 2017
* Add a (slow but cross-platform) fallback lookup method of function name and base address
  using LLVM debug info reader
* Remove windows exported symbol lookup that never worked for sysimg function address lookup
  (since they are never exported)

Fix #17251
Fix #20798
yuyichao added a commit that referenced this issue Jun 23, 2017
* Add a (slow but cross-platform) fallback lookup method of function name and base address
  using LLVM debug info reader
* Disable windows exported symbol lookup that never worked for sysimg function
  address lookup (since they are never exported). Also move it after
  LLVM debug info reader since it is less accurate unless LLVM couldn't get any
  debug info.

Fix #17251
Fix #20798
quinnj pushed a commit that referenced this issue Jun 24, 2017
* Add a (slow but cross-platform) fallback lookup method of function name and base address
  using LLVM debug info reader
* Disable windows exported symbol lookup that never worked for sysimg function
  address lookup (since they are never exported). Also move it after
  LLVM debug info reader since it is less accurate unless LLVM couldn't get any
  debug info.

Fix #17251
Fix #20798
DrTodd13 pushed a commit to IntelLabs/julia that referenced this issue Jun 26, 2017
* Add a (slow but cross-platform) fallback lookup method of function name and base address
  using LLVM debug info reader
* Disable windows exported symbol lookup that never worked for sysimg function
  address lookup (since they are never exported). Also move it after
  LLVM debug info reader since it is less accurate unless LLVM couldn't get any
  debug info.

Fix JuliaLang#17251
Fix JuliaLang#20798
ararslan pushed a commit that referenced this issue Sep 13, 2017
* Add a (slow but cross-platform) fallback lookup method of function name and base address
  using LLVM debug info reader
* Disable windows exported symbol lookup that never worked for sysimg function
  address lookup (since they are never exported). Also move it after
  LLVM debug info reader since it is less accurate unless LLVM couldn't get any
  debug info.

Fix #17251
Fix #20798

Ref #22472
(cherry picked from commit 8c658c5)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
system:windows Affects only Windows system:32-bit Affects only 32-bit systems
Projects
None yet
Development

No branches or pull requests

2 participants