-
-
Notifications
You must be signed in to change notification settings - Fork 293
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
Segmentation faults on Julia 1.7 M1 #1722
Comments
The notebook MLJ-Ex8.jl.zip does basically the same as the notebook
So the issue is reproducible independent of the data and the model used. It crashes on using |
Thanks! It would be really helpful if you can narrow down on which part of the notebook causes the segfault. This means removing more and more code, making the notebook as small as possible, while still producing the segfault. This will really help us, and the developers of MLJ to fix it! |
The notebook MinimalExample.jl.zip ist the most minimal example I could create to reproduce the segmentation fault. I've also tried to replace the second cell, where data is loaded from an external repository by just creating some artificial data locally. But then the error didn't occur any more. And things are starting to get a bit weird, because the error doesn't occur in all runs of this notebook, but in most runs (> 70% of about 30 runs). So the thing isn't deterministic 🙄. The same seems to be true for the notebook MLJ-Ex6.jl which I uploaded before, whereas MLJ-Ex8.jl seems to crash on each run. It seems that the error is reproducible when I wait a few seconds between each run, whereas restarting the notebook directly after shutting down the notebook process of the last run results mostly in a correct execution. This would also fit to the observation that the error occurs when data is loaded externally, which takes just more time than creating it locally. ... but all of this is just an impression, I don't have hard evidence. I know that this seems more like voodoo than computer science. But it's the situation, I've experienced 🤷♂️. |
The machine on which I did the tests is relatively new (about 2 weeks). So the environment is quite clean. But before installing Julia 1.7, I had a 1.7RC2-version installed for trying a few things. When I installed 1.7, I removed everything from 1.7RC7 to obtain a clean Julia installation. I deleted the the 1.7RC application as well as the I assume that all files and directories with the prefix |
Using the new Pluto 0.17.3 version, I did some additional tests:
|
The notebook 02-worldmap-AoG.jl.zip, which doesn't use MLJ at all, causes the segmentation fault mentioned above too. So the problem isn't related to MLJ. The notebook reads The circumstances when the problem occurs are a bit strange again. In a first version of the notebook I used Further observations:
It seems to me that the whole issue is related to JuliaLang/julia#41440. Versioninfo:Julia Version 1.7.0 Complete error message:
|
Thanks again for the information! I have also been experiencing segfaults in Julia 1.7 M1, also in Pkg.jl. Can you verify that the segfaults only happen on Julia 1.7 M1? Try running the notebook with Julia 1.7 x86, running through Rosetta. |
I think our goal is to try to create a MWE to send to the Julia developers. The main differences between running the notebook in Pluto and running it as a standalone script with
You can emulate this environment without Pluto like so: using Distributed
ps = Distributed.addprocs(1)
Distributed.remotecall_eval(Main, ps, quote
module Test
include("mynotebook.jl")
end
end) |
Hi @fonsp I've tested today all the notebooks I mentioned above on a 'real' x86 System:
All runs executed without problems. Switching back and forth on the last notebook between GLMakie and CairoMakie, didn't cause any problems either. So the issue seems to be limited to the M1 platform. Versioninfo: |
As there is a new Julia version (1.7.1), I've tested the above mentioned notebooks again with the following results:
So there is no improvement up to now. VersioninfoJulia Version 1.7.1 |
@fonsp when I try to emulate a notebook in this way, I get an error message after the
What am I doing wrong? |
This might be fixed by JuliaLang/julia#43664 . Can you try building Julia from |
I've built Julia from Versioninfo
Before doing these tests, I've run the Julia test suite ( make testall --> test summary
make testall --> error messages
The results of running (using now the most recent version 0.17.1 of MLJ)
are very promising. They executed without any problems on both test runs. 🤗 There is perhaps one observation worth mentioning: The last statement in |
This comment has been minimized.
This comment has been minimized.
Awesome! In that case, it looks like this will be fixed by Julia 1.8, which will be released in a couple of months. Until then, we recommend using Julia x86! The M1 build is still too experimental. Thanks for opening the issue and for the useful testing!! Let us know if something comes up again! About the new issue, always open a new issue! (And check for existing ones) |
> Try this release in your browser! _(Available 30 minutes after the release)_ > > <a href="https://binder.plutojl.org/v0.18.0/"><img alt="Binder logo" src="https://mybinder.org/badge_logo.svg"></a> **Generate your own binder links using [pluto-on-binder.glitch.me](https://pluto-on-binder.glitch.me/)!** [Diff since v0.17.7](v0.17.7...v0.18.0) **Merged pull requests:** - Make document currentscript work (#1765) (@dralletje) - don't count logs messages multiple times for pluto-logs width (#1843) (@Pangoraw) - Pattern matching system for lezer code (#1849) (@dralletje) - minor fix: Tables integration caused method ambiguation for Union{}[] (#1851) (@16bitmood) - Fix #1852, relocatable changes for sysimage usage. (#1853) (@MichaelHatherly) - Re-enable parseMixed (#1855) (@pankgeorg) - DOI in REAMDE for citation (#1864) (@rikhuijzer) - Use pkgdir instead of pathof (#1867) (@rikhuijzer) - Hide banner in CI (#1868) (@rikhuijzer) - Server-side events as configuration (#1871) (@ctrekker) - fix is_stdlib() for nightly and enable nightly tests (#1874) (@Pangoraw) - Awesome! Line wrapping! (#1876) (@dralletje) - respect maxlog keyword for logs, fixes #1858 (#1877) (@Pangoraw) - allow .. as an identifier, fixes #1875 (#1878) (@Pangoraw) - Server start event (#1882) (@ctrekker) - Julia 1.6 minimum (#1885) (@fonsp) - New heuristic to skip intermediate bond values (#1892) (@fonsp) - Send queued bond changes when last script finishes (#1898) (@fonsp) **Closed issues:** - Pkg.jl will corrupt itself on Windows (#671) - Failure creating JuMP DenseAxisArray (#806) - Frontend tests fail too often (#1234) - Open multiple notebooks at start and without browser (#1278) - Segmentation faults on Julia 1.7 M1 (#1722) - Table of content overlaps text in static HTML (#1770) - Pluto hangs when cell contains `(md" ", md"$t")` (#1800) - Cell drag drop broken in Linux Chrome v97 (#1809) - Tables integration causes method ambiguities for `pluto_showable` (#1815) - Segfault with CSV, SQLite, tables (M1) (#1842) - Use RelocatableFolders.jl instead of project_relative_dir to allow sysimages (#1852) - Logging doesn't respect `maxlog` (#1858) - TOC in dark mode is still light when aside (#1860) - ProgressLogging: suppressed logging in Turing.jl (#1862) - Cannot update to version 0.17.7 (#1869) - Stdlib packages marked as not found (#1872) - EllipsisNotation.jl (`randn((10,10))[1, ..]`) does not work (#1875) - Too many intermediate bond values (#1891)
> Try this release in your browser! _(Available 30 minutes after the release)_ > > <a href="https://binder.plutojl.org/v0.18.0/"><img alt="Binder logo" src="https://mybinder.org/badge_logo.svg"></a> **Generate your own binder links using [pluto-on-binder.glitch.me](https://pluto-on-binder.glitch.me/)!** [Diff since v0.17.7](v0.17.7...v0.18.0) **Merged pull requests:** - Make document currentscript work (#1765) (@dralletje) - don't count logs messages multiple times for pluto-logs width (#1843) (@Pangoraw) - Pattern matching system for lezer code (#1849) (@dralletje) - minor fix: Tables integration caused method ambiguation for Union{}[] (#1851) (@16bitmood) - Fix #1852, relocatable changes for sysimage usage. (#1853) (@MichaelHatherly) - Re-enable parseMixed (#1855) (@pankgeorg) - DOI in REAMDE for citation (#1864) (@rikhuijzer) - Use pkgdir instead of pathof (#1867) (@rikhuijzer) - Hide banner in CI (#1868) (@rikhuijzer) - Server-side events as configuration (#1871) (@ctrekker) - fix is_stdlib() for nightly and enable nightly tests (#1874) (@Pangoraw) - Awesome! Line wrapping! (#1876) (@dralletje) - respect maxlog keyword for logs, fixes #1858 (#1877) (@Pangoraw) - allow .. as an identifier, fixes #1875 (#1878) (@Pangoraw) - Server start event (#1882) (@ctrekker) - Julia 1.6 minimum (#1885) (@fonsp) - New heuristic to skip intermediate bond values (#1892) (@fonsp) - Send queued bond changes when last script finishes (#1898) (@fonsp) **Closed issues:** - Pkg.jl will corrupt itself on Windows (#671) - Failure creating JuMP DenseAxisArray (#806) - Frontend tests fail too often (#1234) - Open multiple notebooks at start and without browser (#1278) - Segmentation faults on Julia 1.7 M1 (#1722) - Table of content overlaps text in static HTML (#1770) - Pluto hangs when cell contains `(md" ", md"$t")` (#1800) - Cell drag drop broken in Linux Chrome v97 (#1809) - Tables integration causes method ambiguities for `pluto_showable` (#1815) - Segfault with CSV, SQLite, tables (M1) (#1842) - Use RelocatableFolders.jl instead of project_relative_dir to allow sysimages (#1852) - Logging doesn't respect `maxlog` (#1858) - TOC in dark mode is still light when aside (#1860) - ProgressLogging: suppressed logging in Turing.jl (#1862) - Cannot update to version 0.17.7 (#1869) - Stdlib packages marked as not found (#1872) - EllipsisNotation.jl (`randn((10,10))[1, ..]`) does not work (#1875) - Too many intermediate bond values (#1891)
Edit from @fonsp
If you are also experiencing segmentation faults with Pluto on Julia 1.7, please post it here! Be sure to provide the following info:
versioninfo()
julia my_notebook.jl
. Does it still error?Original issue
The notebook MLJ-Ex6.jl.zip causes a segmentation fault (see full output and error message in 'Details') when using Pluto on Julia 1.7 (macOS Monterey 12.0.1, Apple M1).
The statement, where the error occurs after loading, is marked in the notebook.
It runs without problems on:
This may indicate that it is a Pluto problem. But as we have already seen in #1658 (and MLJ.jl#865) it might be also a problem of MLJ which is used in the notebook.
Worker 9 terminated.
The text was updated successfully, but these errors were encountered: