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

[PkgEval] Gadfly may have a testing issue on Julia 0.4 (2014-08-30) #409

Closed
IainNZ opened this issue Aug 30, 2014 · 28 comments
Closed

[PkgEval] Gadfly may have a testing issue on Julia 0.4 (2014-08-30) #409

IainNZ opened this issue Aug 30, 2014 · 28 comments

Comments

@IainNZ
Copy link
Contributor

IainNZ commented Aug 30, 2014

PackageEvaluator.jl is a script that runs nightly. It attempts to load all Julia packages and run their tests (if available) on both the stable version of Julia (0.3) and the nightly build of the unstable version (0.4). The results of this script are used to generate a package listing enhanced with testing results.

On Julia 0.4

  • On 2014-08-29 the testing status was Tests pass.
  • On 2014-08-30 the testing status changed to Package doesn't load.

Tests pass. means that PackageEvaluator found the tests for your package, executed them, and they all passed.

Package doesn't load. means that PackageEvaluator did not find tests for your package. Additionally, trying to load your package with using failed.

This issue was filed because your testing status became worse. No additional issues will be filed if your package remains in this state, and no issue will be filed if it improves. If you'd like to opt-out of these status-change messages, reply to this message saying you'd like to and @IainNZ will add an exception. If you'd like to discuss PackageEvaluator.jl please file an issue at the repository. For example, your package may be untestable on the test machine due to a dependency - an exception can be added.

Test log:

>>> 'Pkg.add("Gadfly")' log
INFO: Installing Codecs v0.1.2
INFO: Installing Compose v0.3.7
INFO: Installing Contour v0.0.4
INFO: Installing DataStructures v0.3.1
INFO: Installing Datetime v0.1.6
INFO: Installing Distances v0.1.1
INFO: Installing Distributions v0.5.4
INFO: Installing Gadfly v0.3.7
INFO: Installing Hexagons v0.0.2
INFO: Installing ImmutableArrays v0.0.6
INFO: Installing Iterators v0.1.6
INFO: Installing JSON v0.3.7
INFO: Installing KernelDensity v0.0.2
INFO: Installing Loess v0.0.3
INFO: Installing PDMats v0.2.4
INFO: Building Datetime
INFO: Package database updated

>>> 'using Gadfly' log
Warning: imported binding for Date overwritten in module Datetime
Warning: imported binding for DateTime overwritten in module Datetime
Warning: Method definition now in module Dates at dates/conversions.jl:21 overwritten in module Datetime at /home/idunning/pkgtest/.julia/v0.4/Datetime/src/Datetime.jl:294.
Julia Version 0.4.0-dev+442
Commit 134a083 (2014-08-29 23:42 UTC)
Platform Info:
  System: Linux (x86_64-unknown-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

()ERROR: @grisu_ccall not defined
 in include at ./boot.jl:246
 in include_from_node1 at ./loading.jl:128
 in include at ./boot.jl:246
 in include_from_node1 at ./loading.jl:128
 in reload_path at loading.jl:152
 in _require at loading.jl:67
 in require at loading.jl:51
 in include at ./boot.jl:246
 in include_from_node1 at loading.jl:128
 in process_options at ./client.jl:285
 in _start at ./client.jl:354
 in _start_3B_3583 at /home/idunning/julia04/usr/bin/../lib/julia/sys.so
while loading /home/idunning/pkgtest/.julia/v0.4/Gadfly/src/format.jl, in expression starting on line 56
while loading /home/idunning/pkgtest/.julia/v0.4/Gadfly/src/Gadfly.jl, in expression starting on line 50
while loading /home/idunning/pkgtest/.julia/v0.4/Gadfly/testusing.jl, in expression starting on line 2

>>> test log
no tests to run
>>> end of log
@ViralBShah
Copy link
Collaborator

I guess this just has to be updated for 0.4.0. It is useful to have a compatible version for 0.3.x as well.

@JeffBezanson
Copy link
Collaborator

:cries: Would love to have a gadfly that can at least be loaded under 0.4.

@IainNZ
Copy link
Contributor Author

IainNZ commented Sep 2, 2014

@Keno just fixed the equivalent in TexExtensions, it could be ported to Gadfly (or even into Base?)

@IainNZ
Copy link
Contributor Author

IainNZ commented Sep 2, 2014

I'd do it but no time for next few days

@timholy
Copy link
Collaborator

timholy commented Sep 2, 2014

@timholy
Copy link
Collaborator

timholy commented Sep 3, 2014

Would be good to have @quinnj check this over, however; TexExtensions doesn't have any "real" tests (I just added one that checks whether the package loads), and I confess I was more interested in fixing the Images->SIUnits->TexExtensions load dependency chain than in getting the right answer 😄.

@JeffBezanson
Copy link
Collaborator

+10 for exposing a richer number formatting API that would have made direct use of grisu unnecessary. I've always felt there should be a good way to do formatting without making printf format strings or calling un-exported functions.

@StefanKarpinski
Copy link
Collaborator

I was actually just thinking about / working on this today. There's certainly much better that can be done.

@quinnj
Copy link

quinnj commented Sep 3, 2014

Yes, I've been thinking about this too. The problem is I haven't really wanted to replace the @grisu_ccall with a similar, unexported, inner module call. I think we could keep it simple at first and provide

  • showshortest: show the shortest float representation
  • showprecision: show the float with precision number of digits total
  • showfixed: show the float with fixed number of digits after the decimal

Which just mirrors the grisu API overall.

@StefanKarpinski
Copy link
Collaborator

I don't think that's going to make people especially happy unless it also includes a lot of controls for doing printf-like formatting when calling those.

@quinnj
Copy link

quinnj commented Sep 5, 2014

I guess I'm not sure what you have in mind that's non-overlapping with printf? Are people unsatisfied with printf?

@StefanKarpinski
Copy link
Collaborator

Jeff is unsatisfied with printf ;-)

@quinnj
Copy link

quinnj commented Sep 5, 2014

Got it. Well, feel free to throw up an issue with ideas or sketches and I can chime in on molding grisu if needed. I have a few ideas on JuliaLang/julia#6608 that I need to play around with in the mean time.

@sglyon
Copy link

sglyon commented Sep 12, 2014

Any update on getting Gadfly to run under 0.4?

@dcjones
Copy link
Collaborator

dcjones commented Sep 12, 2014

What needs to be updated is the use of dates and grisu. Gadfly calls both of those just to format values nicely. That formatting code should be removed from Gadfly and put either in Base or a separate package.

The abstraction I need is basically “format n values consistently and with sufficient precision”. I imagine that must be useful elsewhere (e.g. printing arrays or data frames with user-defined types), and it would really improve the situation with plotting non-number types in gadfly: if labels are messed up, it's the responsibility of whoever defined the type to write a reasonable format function.

@dcjones
Copy link
Collaborator

dcjones commented Sep 12, 2014

But to actually answer your question: it doesn't work yet, but I want to actually take the time to do the formatting thing right this time rather than patch over it.

@papamarkou
Copy link

You may have seen this; @Keno and @timholy sorted this @Base.Grisu.grisu_ccall issue in TeXExtensions.jl, see Keno/TexExtensions.jl/72ea141826c1ea926718f75c7c586cf79fb24549, in case you would like to provide a temporary patch until a more permanent resolution is reached.

@dcjones
Copy link
Collaborator

dcjones commented Sep 20, 2014

I've made some updates and on julia 0.4, Gadfly will now randomly, and with about equal probability, either work perfectly, segfault, or throw a setindex! not defined for Array{V,1} error. Progress?

@papamarkou
Copy link

Just tried it after removing completely my ~/.julia/v0.4 dir, and Pkg.update()ing but I get the same grisu error, with probability 1...

@dcjones
Copy link
Collaborator

dcjones commented Sep 20, 2014

Oh, I haven't tagged a new version yet. I wanted to figure out the weird errors first. But you can try it on master.

@papamarkou
Copy link

I cloned Gadfly and Showoff, but got again the same grisu error, will try again tomorrow though (as I will be away from the laptop for the next few hours).

@papamarkou
Copy link

P.S. This is what I get:

ERROR: @grisu_ccall not defined
 in include at boot.jl:246
 in include_from_node1 at loading.jl:128
while loading C:\Users\theodore\.julia\v0.4\Showoff\src\Showoff.jl, in expression starting on line 75
while loading C:\Users\theodore\.julia\v0.4\Gadfly\src\Gadfly.jl, in expression starting on line 10

@dcjones
Copy link
Collaborator

dcjones commented Sep 20, 2014

I see, I had uncommitted changes in Showoff. Now it should work.

@papamarkou
Copy link

Hurrah, it works! No grisu error anymore nor Date/datetime errors (in relation to #401), Gadfly opened its wings again.

@cndesantana
Copy link

Hi,

I am using Julia Version 0.4.0-dev+734 (2014-09-23 18:22 UTC) in a Debian GNU/Linux. I just tried to use Gadfly in the way you suggested here and I found the same error in grisu_ccall:

1)- I removed my folder .julia
2)- In julia, I called Pkg.add("Gadfly") - it installed everything well
3)- I called using Gadfly and got the following message:

julia> using Gadfly
Warning: imported binding for Date overwritten in module Datetime
Warning: imported binding for DateTime overwritten in module Datetime
Warning: Method definition now() in module Dates at dates/conversions.jl:21 overwritten in module Datetime at /home/charles/.julia/v0.4/Datetime/src/Datetime.jl:294.
ERROR: @grisu_ccall not defined
in include at ./boot.jl:246
in include_from_node1 at ./loading.jl:128
in include at ./boot.jl:246
in include_from_node1 at ./loading.jl:128
in reload_path at loading.jl:152
in _require at loading.jl:67
in require at loading.jl:51
while loading /home/charles/.julia/v0.4/Gadfly/src/format.jl, in expression starting on line 56
while loading /home/charles/.julia/v0.4/Gadfly/src/Gadfly.jl, in expression starting on line 50

Any other idea?

Thanks for your attention,

Charles

@ivarne
Copy link
Contributor

ivarne commented Sep 24, 2014

@cndesantana There has probably not been tagged a new version of Gadfly yet. You will have to do ```julia
Pkg.checkout("Gadfly")
Pkg.chekcout("Showoff")

to use the master branch. Not sure if more dependencies needs to be on the master branch.

When this is fixed and versions gets tagged again, you should do 

```julia
Pkg.free("Gadfly")
Pkg.free("Showoff")

So that you get back to using tagged versions.

@cndesantana
Copy link

Exactly this, @dcjones! ;)

Thank you for your help! It is working perfectly now! :)

I did:

julia> Pkg.checkout("Gadfly")
INFO: Checking out Gadfly master...
INFO: Pulling Gadfly latest master...
INFO: Cloning cache of Showoff from git://github.com/dcjones/Showoff.jl.git
INFO: Installing Showoff v0.0.1

julia> Pkg.checkout("Showoff")
INFO: Checking out Showoff master...
INFO: Pulling Showoff latest master...
INFO: No packages to install, update or remove

julia> using Gadfly

Best,

Charles


From: Ivar Nesje [[email protected]]
Sent: Wednesday, September 24, 2014 11:08 AM
To: dcjones/Gadfly.jl
Cc: De Santana, Charles
Subject: Re: [Gadfly.jl] [PkgEval] Gadfly may have a testing issue on Julia 0.4 (2014-08-30) (#409)

@cndesantanahttps://github.com/cndesantana There has probably not been tagged a new version of Gadfly yet. You will have to do ```julia
Pkg.checkout("Gadfly")
Pkg.chekcout("Showoff")

to use the master branch. Not sure if more dependencies needs to be on the master branch.

When this is fixed and versions gets tagged again, you should do

Pkg.free("Gadfly")
Pkg.free("Showoff")


So that you get back to using tagged versions.

—
Reply to this email directly or view it on GitHub<https://github.com/dcjones/Gadfly.jl/issues/409#issuecomment-56643684>.

@dcjones
Copy link
Collaborator

dcjones commented Sep 26, 2014

The latest tagged version supports julia 0.4 for now.

@dcjones dcjones closed this as completed Sep 26, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests