Opened 4 months ago

Closed 3 weeks ago

#24820 closed defect (fixed)

nyx crashes on startup

Reported by: monochromec Owned by: atagar
Priority: High Milestone:
Component: Core Tor/Nyx Version:
Severity: Critical Keywords: nyx crash startup
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

nyx crashes on startup on an ALARM system running on an v5 type architecture (Feroceon 88FR131).

Python is 3.6.4 and the traceback is as follows:

Exception in thread Thread-5:
Traceback (most recent call last):

File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner

self.run()

File "/usr/lib/python3.6/threading.py", line 864, in run

self._target(*self._args, self._kwargs)

File "/usr/lib/python3.6/site-packages/nyx/init.py", line 740, in halt_panels

panel.join()

File "/usr/lib/python3.6/threading.py", line 1051, in join

raise RuntimeError("cannot join thread before it is started")

RuntimeError: cannot join thread before it is started

Traceback (most recent call last):

File "/usr/bin/nyx", line 11, in <module>

load_entry_point('nyx==2.0.4', 'console_scripts', 'nyx')()

File "/usr/lib/python3.6/site-packages/nyx/init.py", line 176, in main

nyx.starter.main()

File "/usr/lib/python3.6/site-packages/stem/util/conf.py", line 289, in wrapped

return func(*args, config = config, kwargs)

File "/usr/lib/python3.6/site-packages/nyx/starter.py", line 118, in main

nyx.curses.start(nyx.draw_loop, acs_support = config.get('acs_support', True), transparent_background = True, cursor = False)

File "/usr/lib/python3.6/site-packages/nyx/curses.py", line 217, in start

curses.wrapper(_wrapper)

File "/usr/lib/python3.6/curses/init.py", line 94, in wrapper

return func(stdscr, *args, kwds)

File "/usr/lib/python3.6/site-packages/nyx/curses.py", line 215, in _wrapper

function()

File "/usr/lib/python3.6/site-packages/nyx/init.py", line 194, in draw_loop

interface = nyx_interface()

File "/usr/lib/python3.6/site-packages/nyx/init.py", line 256, in nyx_interface

Interface() # constructor sets NYX_INTERFACE

File "/usr/lib/python3.6/site-packages/nyx/init.py", line 596, in init

first_page_panels.append(nyx.panel.log.LogPanel())

File "/usr/lib/python3.6/site-packages/nyx/panel/log.py", line 114, in init

for entry in reversed(list(nyx.log.read_tor_log(log_location, CONFIGprepopulate_read_limit?))):

File "/usr/lib/python3.6/site-packages/nyx/log.py", line 497, in read_tor_log

timestamp = int(time.mktime(timestamp_comp))

TypeError: Tuple or struct_time argument required

Seems to be 3.6 related as I cannot reproduce it on a box running 3.5.

More than happy to provide more details - just let me know.

Child Tickets

Change History (3)

comment:1 Changed 3 months ago by atagar

Ick, thanks for the report! Juggling a few things right now but I very much appreciate the report. Certainly odd this differs between 3.5 and 3.6...

comment:2 Changed 3 weeks ago by atagar

Oops! I completely forgot to circle back to this. Sorry about that. This was a python3 compatibility bug that surfaces when log messages cross the year boundary (that is to say, it's January 1st and there's messages from December). Thanks for reporting it! Fix pushed...

https://gitweb.torproject.org/nyx.git/commit/?id=f2bbbf7

comment:3 Changed 3 weeks ago by atagar

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.