kmsquire / Logging.jl

Logging package for julia
Other
43 stars 26 forks source link

Causes Segmentation fault: 11 #30

Open essenciary opened 8 years ago

essenciary commented 8 years ago

It used to work great until this morning. Now all of a sudden, enabling any of the commented lines causes a seg fault

using Logging

# @Logging.configure(level=DEBUG)
# Logging.configure(level=DEBUG)

Error:

signal (11): Segmentation fault: 11 uv_write2 at /usr/local/Cellar/julia/0.4.2/lib/julia/libjulia.dylib (unknown line) jl_uv_write at /private/tmp/julia20151108-79873-1qly89w/src/jl_uv.c:358 uv_write at /usr/local/Cellar/julia/0.4.2/lib/julia/sys.dylib (unknown line) buffer_or_write at /usr/local/Cellar/julia/0.4.2/lib/julia/sys.dylib (unknown line) write at /usr/local/Cellar/julia/0.4.2/lib/julia/sys.dylib (unknown line) print at /usr/local/Cellar/julia/0.4.2/lib/julia/sys.dylib (unknown line) jlcall_print_19067 at /usr/local/Cellar/julia/0.4.2/lib/julia/sys.dylib (unknown line) with_output_color at util.jl:316 jl_apply at /private/tmp/julia20151108-79873-1qly89w/src/gf.c:1691 jl_apply at /private/tmp/julia20151108-79873-1qly89w/src/./julia.h:1325 print_with_color at util.jl:320 jl_apply at /private/tmp/julia20151108-79873-1qly89w/src/gf.c:1691 info at /Users/adrian/.julia/v0.4/Logging/src/Logging.jl:53 info at /Users/adrian/.julia/v0.4/Logging/src/Logging.jl:61 jl_apply at /private/tmp/julia20151108-79873-1qly89w/src/gf.c:1691 jl_apply at /private/tmp/julia20151108-79873-1qly89w/src/interpreter.c:55 eval at /private/tmp/julia20151108-79873-1qly89w/src/interpreter.c:213 jl_toplevel_eval_flex at /private/tmp/julia20151108-79873-1qly89w/src/toplevel.c:527 jl_toplevel_eval_in at /private/tmp/julia20151108-79873-1qly89w/src/builtins.c:579 log at /Users/adrian/Dropbox/Projects/jinnie/lib/Jinnie/src/logger.jl:3 req_logger at /Users/adrian/Dropbox/Projects/jinnie/lib/Jinnie/src/middlewares.jl:2 jl_apply at /private/tmp/julia20151108-79873-1qly89w/src/gf.c:1691 anonymous at /Users/adrian/.julia/v0.4/Mux/src/Mux.jl:8 toresponse at /Users/adrian/Dropbox/Projects/jinnie/lib/Mux/src/basics.jl:47 jl_apply at /private/tmp/julia20151108-79873-1qly89w/src/gf.c:1691 anonymous at /Users/adrian/Dropbox/Projects/jinnie/lib/Mux/src/Mux.jl:8 splitquery at /Users/adrian/Dropbox/Projects/jinnie/lib/Mux/src/basics.jl:28 jl_apply at /private/tmp/julia20151108-79873-1qly89w/src/gf.c:1691 anonymous at /Users/adrian/Dropbox/Projects/jinnie/lib/Mux/src/Mux.jl:8 basiccatch at /Users/adrian/Dropbox/Projects/jinnie/lib/Mux/src/basics.jl:68 jl_apply at /private/tmp/julia20151108-79873-1qly89w/src/gf.c:1691 anonymous at /Users/adrian/Dropbox/Projects/jinnie/lib/Mux/src/Mux.jl:8 todict at /Users/adrian/Dropbox/Projects/jinnie/lib/Mux/src/basics.jl:21 jl_apply at /private/tmp/julia20151108-79873-1qly89w/src/gf.c:1691 anonymous at /Users/adrian/Dropbox/Projects/jinnie/lib/Mux/src/Mux.jl:12 anonymous at /Users/adrian/Dropbox/Projects/jinnie/lib/Mux/src/Mux.jl:12 anonymous at /Users/adrian/Dropbox/Projects/jinnie/lib/Mux/src/Mux.jl:12 anonymous at /Users/adrian/.julia/v0.4/Mux/src/Mux.jl:8 anonymous at /Users/adrian/.julia/v0.4/Mux/src/server.jl:31 on_message_complete at /Users/adrian/.julia/v0.4/HttpServer/src/HttpServer.jl:400 jl_apply at /private/tmp/julia20151108-79873-1qly89w/src/gf.c:1691 on_message_complete at /Users/adrian/.julia/v0.4/HttpServer/src/RequestParser.jl:104 jlcapi_on_message_complete_21244 at (unknown line) http_parser_execute at /Users/adrian/.julia/v0.4/HttpParser/deps/usr/lib/libhttp_parser.dylib (unknown line) http_parser_execute at /Users/adrian/.julia/v0.4/HttpParser/src/HttpParser.jl:92 process_client at /Users/adrian/.julia/v0.4/HttpServer/src/HttpServer.jl:365 jlcall_process_client_21684 at (unknown line) jl_apply at /private/tmp/julia20151108-79873-1qly89w/src/gf.c:1691 anonymous at task.jl:447 jl_apply at /private/tmp/julia20151108-79873-1qly89w/src/./julia.h:1325

It's possible that the package was updated this morning, but the version not bumped? I'm on v0.2.0.

The reason I'm suggesting this is that it still runs if launched through DeclarativePackage (which uses a version of the packaged installed days ago).

essenciary commented 8 years ago

Something seems to be broken in configuring the console logger with any of

@Logging.configure(level=DEBUG)
Logging.configure(level=DEBUG)

Explicitly setting up the console logger does work:

console_logger = Logger("console_logger")
Logging.configure(console_logger, level=DEBUG)
Logging.configure(console_logger, output = STDOUT)
aviks commented 8 years ago

This package has not had an update for quite some time. What version of Julia are you on? Can you show the output of versioninfo(true) ?

essenciary commented 8 years ago

Thanks

To be more exact, it's this that is causing the seg fault:

@Logging.configure(level=DEBUG)
@info "Logging ready"

If I don't call the @info macro, no error.

julia> versioninfo(true)
Julia Version 0.4.2
Commit bb73f34* (2015-12-06 21:47 UTC)
Platform Info:
  System: Darwin (x86_64-apple-darwin15.0.0)
  CPU: Intel(R) Core(TM) i7-3740QM CPU @ 2.70GHz
  WORD_SIZE: 64
  uname: Darwin 15.2.0 Darwin Kernel Version 15.2.0: Fri Nov 13 19:56:56 PST 2015; root:xnu-3248.20.55~2/RELEASE_X86_64 x86_64 i386
Memory: 16.0 GB (42.20703125 MB free)
Uptime: 539002.0 sec
Load Avg:  2.302734375  2.1416015625  2.103515625
Intel(R) Core(TM) i7-3740QM CPU @ 2.70GHz:
       speed         user         nice          sys         idle          irq
#1  2700 MHz     246078 s          0 s     175758 s    1528642 s          0 s
#2  2700 MHz      23245 s          0 s      12756 s    1914151 s          0 s
#3  2700 MHz     203315 s          0 s      95855 s    1650994 s          0 s
#4  2700 MHz      24158 s          0 s      13948 s    1912044 s          0 s
#5  2700 MHz     198886 s          0 s      90194 s    1661079 s          0 s
#6  2700 MHz      24269 s          0 s      13927 s    1911950 s          0 s
#7  2700 MHz     196157 s          0 s      86382 s    1667617 s          0 s
#8  2700 MHz      24320 s          0 s      13969 s    1911853 s          0 s

  BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3
Environment:
  PATH = /Users/adrian/.rbenv/shims:/Users/adrian/.dnx/runtimes/dnx-coreclr-darwin-x64.1.0.0-beta8-15653/bin:/Users/adrian/.dnx/bin:/usr/local/bin:/Users/adrian/.rbenv/shims:/Users/adrian/.rbenv/bin:/usr/local/opt/nvm/v0.10.28/bin:/Users/adrian/.bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/lib/node_modules:/Users/adrian/.eerie/base/bin:/Users/adrian/.eerie/activeEnv/bin
  XPC_FLAGS = 0x0
  HOME = /Users/adrian
  TERM = xterm-256color
  DOCKER_CERT_PATH = /Users/adrian/.boot2docker/certs/boot2docker-vm

Package Directory: /Users/adrian/.julia/v0.4
5 required packages:
 - AnsiColor                     0.0.2
 - ArgParse                      0.3.0
 - Logging                       0.2.0
 - Mustache                      0.0.14
 - Mux                           0.2.0
18 additional packages:
 - BinDeps                       0.3.20
 - Codecs                        0.1.5
 - Compat                        0.7.8
 - Hiccup                        0.0.2
 - Homebrew                      0.2.0
 - HttpCommon                    0.2.4
 - HttpParser                    0.1.1
 - HttpServer                    0.1.5
 - JSON                          0.5.0
 - Lazy                          0.10.1
 - MacroTools                    0.2.0
 - MbedTLS                       0.2.0
 - Nettle                        0.2.1
 - Requires                      0.2.1
 - SHA                           0.1.2
 - TextWrap                      0.1.5
 - URIParser                     0.1.2
 - WebSockets                    0.1.2
essenciary commented 8 years ago

Like I said, through DeclarativePackages it works fine.

Here is versioninfo from DeclarativePackages, which works:

julia> versioninfo(true)
Julia Version 0.4.2
Commit bb73f34* (2015-12-06 21:47 UTC)
Platform Info:
  System: Darwin (x86_64-apple-darwin15.0.0)
  CPU: Intel(R) Core(TM) i7-3740QM CPU @ 2.70GHz
  WORD_SIZE: 64
  uname: Darwin 15.2.0 Darwin Kernel Version 15.2.0: Fri Nov 13 19:56:56 PST 2015; root:xnu-3248.20.55~2/RELEASE_X86_64 x86_64 i386
Memory: 16.0 GB (147.09765625 MB free)
Uptime: 539424.0 sec
Load Avg:  2.21435546875  2.0390625  2.01953125
Intel(R) Core(TM) i7-3740QM CPU @ 2.70GHz:
       speed         user         nice          sys         idle          irq
#1  2700 MHz     246730 s          0 s     176241 s    1531727 s          0 s
#2  2700 MHz      23297 s          0 s      12785 s    1918291 s          0 s
#3  2700 MHz     203798 s          0 s      96116 s    1654470 s          0 s
#4  2700 MHz      24212 s          0 s      13982 s    1916175 s          0 s
#5  2700 MHz     199367 s          0 s      90442 s    1664571 s          0 s
#6  2700 MHz      24326 s          0 s      13961 s    1916079 s          0 s
#7  2700 MHz     196624 s          0 s      86622 s    1671129 s          0 s
#8  2700 MHz      24376 s          0 s      14005 s    1915982 s          0 s

  BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3
Environment:
  TERM = xterm-256color
  PATH = /Users/adrian/.rbenv/shims:/Users/adrian/.dnx/runtimes/dnx-coreclr-darwin-x64.1.0.0-beta8-15653/bin:/Users/adrian/.dnx/bin:/usr/local/bin:/Users/adrian/.rbenv/shims:/Users/adrian/.rbenv/bin:/usr/local/opt/nvm/v0.10.28/bin:/Users/adrian/.bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/lib/node_modules:/Users/adrian/.eerie/base/bin:/Users/adrian/.eerie/activeEnv/bin
  JULIA_PKGDIR = /Users/adrian/.julia/declarative/344cb4706e917e7b9427788b8dd16518
  XPC_FLAGS = 0x0
  DOCKER_CERT_PATH = /Users/adrian/.boot2docker/certs/boot2docker-vm
  HOME = /Users/adrian

Package Directory: /Users/adrian/.julia/declarative/344cb4706e917e7b9427788b8dd16518/v0.4
7 required packages:
 - AnsiColor                     0.0.2              pinned.v0.0.2.tmp (dirty)
 - ArgParse                      0.3.0              pinned.v0.3.0.tmp
 - DataFrames                    0.6.10             pinned.v0.6.10.tmp
 - Logging                       0.2.0              pinned.v0.2.0.tmp
 - Mustache                      0.0.14             pinned.v0.0.14.tmp
 - Mux                           0.2.0              master (dirty)
 - Requests                      0.3.4              pinned.v0.3.4.tmp
28 additional packages:
 - ArrayViews                    0.6.4
 - BinDeps                       0.3.20
 - BufferedStreams               0.0.2
 - Codecs                        0.1.5
 - Compat                        0.7.8
 - DataArrays                    0.2.20
 - Docile                        0.5.23
 - GZip                          0.2.18
 - Hiccup                        0.0.2
 - Homebrew                      0.2.0
 - HttpCommon                    0.2.4
 - HttpParser                    0.1.1
 - HttpServer                    0.1.5
 - JSON                          0.5.0
 - Lazy                          0.10.1
 - Libz                          0.0.2
 - MacroTools                    0.2.0
 - MbedTLS                       0.2.0
 - Nettle                        0.2.1
 - Reexport                      0.0.3
 - Requires                      0.2.1
 - SHA                           0.1.2
 - SortingAlgorithms             0.0.6
 - StatsBase                     0.7.4
 - StatsFuns                     0.2.0
 - TextWrap                      0.1.5
 - URIParser                     0.1.2
 - WebSockets                    0.1.2

Many thanks!