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

New test "correctly print values to error messages" fails on Windows #6016

Closed
tkelman opened this issue Mar 2, 2014 · 8 comments
Closed
Labels
system:windows Affects only Windows
Milestone

Comments

@tkelman
Copy link
Contributor

tkelman commented Mar 2, 2014

This recently added test is failing on Windows.

The output of expand(parse("\"a\"=1")) with the most recent Windows prerelease binary or my own freshly-built Julia is :($(Expr(:error, "invalid assignment location \"alue\""))). On the 0.2.0 release, it is :($(Expr(:error, "invalid assignment location #<julia_value>"))).

@tkelman
Copy link
Contributor Author

tkelman commented Mar 2, 2014

Does not appear to have fixed the problem.

               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "help()" to list help topics
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.3.0-prerelease+1808 (2014-03-02 17:08 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit 73d6a45* (0 days old master)
|__/                   |  x86_64-w64-mingw32

julia> expand(parse("\"a\"=1"))
:($(Expr(:error, "invalid assignment location \"alue\"")))

@JeffBezanson JeffBezanson reopened this Mar 2, 2014
@JeffBezanson
Copy link
Member

Thanks for checking.

@vtjnash the jl_static_print hack in print.c seems not to be working on windows. Is this expected? If so I will just work around it.

@vtjnash
Copy link
Member

vtjnash commented Mar 2, 2014

There shouldn't be any difference in behavior

@JeffBezanson
Copy link
Member

It seems to be falling back to printing #<julia_value>, which is where the "alue" string comes from. AFAICT this would happen if it can't look up the address of jl_static_print. No idea why.

@vtjnash
Copy link
Member

vtjnash commented Mar 2, 2014

Ah yes. It's much harder to get the dynamic linker to find functions on windows since you have to tell it exactly where to look

JeffBezanson added a commit that referenced this issue Mar 4, 2014
at least avoid ever printing the nonsensical "alue" string
@vtjnash
Copy link
Member

vtjnash commented Mar 5, 2014

Actually, on windows, we don't even attempt to look since RTLD_SELF and RTLD_DEFAULT are not defined (and we wouldn't find the jl_static_show at those locations anyways). Since those don't exist, there is no possible way to find the symbol (unless flisp is statically linked to libjulia, in which case, we can query our own address space with GetModuleHandleExA like we do in jl_load_dynamic_library_)

@JeffBezanson
Copy link
Member

flisp is statically linked inside libjulia (libflisp.a).

@vtjnash vtjnash added this to the 0.4 milestone Dec 21, 2014
@tkelman
Copy link
Contributor Author

tkelman commented May 12, 2016

2-years-old bump. This still gives

julia> expand(parse("\"a\"=1"))
:($(Expr(:error, "invalid assignment location \"#<julia_value>\"")))

on Windows. Should we be able to do better with libflisp linked into libjulia? This was marked 0.4.x...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
system:windows Affects only Windows
Projects
None yet
Development

No branches or pull requests

4 participants