# Issues running Genie apps on JuliaHub

**URL:** <https://discourse.julialang.org/t/issues-running-genie-apps-on-juliahub/72809>\
**Category:** General Usage\
**Tags:** genie, juliahub\
**Created:** [December 9, 2021, 8:28am UTC](https://discourse.julialang.org/t/issues-running-genie-apps-on-juliahub/72809 "2021-12-09T08:28:26Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [December 9, 2021, 8:28am UTC](https://discourse.julialang.org/t/issues-running-genie-apps-on-juliahub/72809/1 "2021-12-09T08:28:26Z")

</div>

Apologies if this is not the right place to post - I’m following up on a Slack thread in the #juliahub-usage channel [Slack](https://julialang.slack.com/archives/C01FHUY9X96/p1638990836023000)

Working on adding out-of-the-box support for Genie apps on JuliaHub but there seem to be issues with the JuliaHub run script.

I will repeat the details here for convenience:

I’m looking to run a Genie app on JuliaHub - namely this [https://github.com/GenieFramework/whats-your-number](https://github.com/GenieFramework/whats-your-number) by connecting this repo (main branch). I have added the necessary logic in `bin/main.jl` and confirmed to work locally when running `julia --project -- bin/main.jl` However, it fails to start on JuliaHub with the following exception:

```julia
File: /opt/juliahub/master_startup.jl:298
Timestamp: 8 Dec 2021, 20:10-1638990604616
Worker: jr-xutybap2rz-hjf2t, id: 1
Thread: 1
Module: Main.JuliaRunJob
Level: Error
Group: master_startup
Exception:
MethodError: no method matching joinpath(::Nothing, ::String)
Closest candidates are:
  joinpath(!Matched::AbstractString, ::AbstractString...) at path.jl:296
  joinpath(!Matched::URIs.URI, ::String...) at /home/jrun/.julia/packages/URIs/o9DQG/src/URIs.jl:509
Stacktrace:
  [1] install_packages(; code_script::String, mode::String, juliarun_run_mode::String)
    @ Main.JuliaRunJob /opt/juliahub/common_startup.jl:255
  [2] (::Main.JuliaRunJob.var"#23#28"{String, String})()
    @ Main.JuliaRunJob /opt/juliahub/master_startup.jl:277
  [3] macro expansion
    @ ~/.julia/packages/Logging2/5fG3t/src/Logging2.jl:24 [inlined]
  [4] macro expansion
    @ ./task.jl:387 [inlined]
  [5] redirect_stderr(f::Main.JuliaRunJob.var"#23#28"{String, String}, logger::LoggingExtras.EarlyFilteredLogger{JuliaRunLoggers.JuliaRunLogger, CloudWatchLogging.var"#40#42"{Float64, Base.CoreLogging.LogLevel, CloudWatchLogging.TokenBucket}}; level::Base.CoreLogging.LogLevel)
    @ Logging2 ~/.julia/packages/Logging2/5fG3t/src/Logging2.jl:21
  [6] redirect_stderr
    @ ~/.julia/packages/Logging2/5fG3t/src/Logging2.jl:16 [inlined]
  [7] #22
    @ /opt/juliahub/master_startup.jl:256 [inlined]
  [8] macro expansion
    @ ~/.julia/packages/Logging2/5fG3t/src/Logging2.jl:24 [inlined]
  [9] macro expansion
    @ ./task.jl:387 [inlined]
 [10] redirect_stdout(f::Main.JuliaRunJob.var"#22#27"{String, String, LoggingExtras.EarlyFilteredLogger{JuliaRunLoggers.JuliaRunLogger, CloudWatchLogging.var"#40#42"{Float64, Base.CoreLogging.LogLevel, CloudWatchLogging.TokenBucket}}}, logger::LoggingExtras.EarlyFilteredLogger{JuliaRunLoggers.JuliaRunLogger, CloudWatchLogging.var"#40#42"{Float64, Base.CoreLogging.LogLevel, CloudWatchLogging.TokenBucket}}; level::Base.CoreLogging.LogLevel)
    @ Logging2 ~/.julia/packages/Logging2/5fG3t/src/Logging2.jl:21
 [11] redirect_stdout
    @ ~/.julia/packages/Logging2/5fG3t/src/Logging2.jl:16 [inlined]
 [12] (::Main.JuliaRunJob.var"#21#26"{String, String, LoggingExtras.EarlyFilteredLogger{JuliaRunLoggers.JuliaRunLogger, CloudWatchLogging.var"#40#42"{Float64, Base.CoreLogging.LogLevel, CloudWatchLogging.TokenBucket}}})()
    @ Main.JuliaRunJob /opt/juliahub/master_startup.jl:255
 [13] with_logstate(f::Function, logstate::Any)
    @ Base.CoreLogging ./logging.jl:491
 [14] macro expansion
    @ ~/.julia/packages/CloudWatchLogging/Ixju9/src/logger.jl:228 [inlined]
 [15] macro expansion
    @ ./task.jl:387 [inlined]
 [16] with_logger(f::Function, logger::CloudWatchLogging.CloudWatchLogger, logstate::Base.CoreLogging.LogState; nretries::Int64, reset_error_count_secs::Int64, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ CloudWatchLogging ~/.julia/packages/CloudWatchLogging/Ixju9/src/logger.jl:218
 [17] with_logger
    @ ~/.julia/packages/CloudWatchLogging/Ixju9/src/logger.jl:211 [inlined]
 [18] with_logger(f::Function, logger::LoggingExtras.TransformerLogger{CloudWatchLogging.CloudWatchLogger, JuliaRunLoggers.var"#2#4"{Dict{Symbol, Any}, Dict{Symbol, Function}}}, logstate::Base.CoreLogging.LogState)
    @ JuliaRunLoggers ~/.julia/packages/JuliaRunLoggers/ymXlf/src/JuliaRunLoggers.jl:52
 [19] with_logger(f::Function, logger::JuliaRunLoggers.JuliaRunLogger, logstate::Base.CoreLogging.LogState)
    @ JuliaRunLoggers ~/.julia/packages/JuliaRunLoggers/ymXlf/src/JuliaRunLoggers.jl:93
 [20] #with_logger#6
    @ ~/.julia/packages/JuliaRunLoggers/ymXlf/src/JuliaRunLoggers.jl:51 [inlined]
 [21] with_logger(f::Function, logger::LoggingExtras.EarlyFilteredLogger{JuliaRunLoggers.JuliaRunLogger, CloudWatchLogging.var"#40#42"{Float64, Base.CoreLogging.LogLevel, CloudWatchLogging.TokenBucket}})
    @ JuliaRunLoggers ~/.julia/packages/JuliaRunLoggers/ymXlf/src/JuliaRunLoggers.jl:51
 [22] main()
    @ Main.JuliaRunJob /opt/juliahub/master_startup.jl:254
 [23] top-level scope
    @ /opt/juliahub/master_startup.jl:315
 [24] include(mod::Module, _path::String)
    @ Base ./Base.jl:386
 [25] exec_options(opts::Base.JLOptions)
    @ Base ./client.jl:285
 [26] _start()
    @ Base ./client.jl:485

```

* * *

In addition, per the follow up by @jeremiedb there might be a environment conflict with the `HOST` variable? Is this used/reserved by JuliaHub?

Thanks!

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [December 9, 2021, 11:25am UTC](https://discourse.julialang.org/t/issues-running-genie-apps-on-juliahub/72809/2 "2021-12-09T11:25:22Z")

</div>

This is an error on our end. Should be fixed soonish.

In the future it’s probably best to use the “Support” link in the footer.

> [@essenciary](#):
>
> environment conflict with the `HOST` variable? Is this used/reserved by JuliaHub?

Not as far as I know, no.

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [December 9, 2021, 12:42pm UTC](https://discourse.julialang.org/t/issues-running-genie-apps-on-juliahub/72809/3 "2021-12-09T12:42:30Z")

</div>

Understood - looking forward to the fix. Any way of being notified when the fix will arrive (is it tied to a planned release or something)?

Re HOST - understood, will run more tests once the platform will allow it.

Support - understood. Also managed to find the Github issues link - let me know if you need me to open an issue about this.

* * *

If I may say, some things are hard to find in the JuliaHub UI. “Help” takes you to the docs - then you need to chose Support then you read a text to get a link to the issue tracker. Three clicks and 4 pages to report an issue.

Same goes for the logs - there could be a “logs” link next to the “launch” button of the app (or in a drop down menu) and ideally a link to the logs from the app failure page (ideally only if I’m the owner of the app).

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [December 9, 2021, 12:51pm UTC](https://discourse.julialang.org/t/issues-running-genie-apps-on-juliahub/72809/4 "2021-12-09T12:51:07Z")

</div>

> [@essenciary](#):
>
> Any way of being notified when the fix will arrive (is it tied to a planned release or something)?

We’ll ping you here once the issue is resolved.

> [@essenciary](#):
>
> If I may say, some things are hard to find in the JuliaHub UI. “Help” takes you to the docs - then you need to chose Support then you read a text to get a link to the issue tracker. Three clicks and 4 pages to report an issue.
> 
> Same goes for the logs - there could be a “logs” link next to the “launch” button of the app (or in a drop down menu) and ideally a link to the logs from the app failure page (ideally only if I’m the owner of the app).

Fair points. Thanks for the feedback! 🙂

You can get the support widget directly from the footer, but obviously that’s not easy enough to find. There definitely is a link to the logs on the Jobs page, but having easier access from the apps page would be nice for sure.
