-
Notifications
You must be signed in to change notification settings - Fork 2
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
self.node has no attribute 'prev_node' #4
Comments
line 277, you have crosscut = graph.crosscut([node]). On Tue, Jul 19, 2011 at 3:31 PM, chiache <
|
It is buggy. In session.py: So Signal.handled might have never been initialized. Does it come from scribe? |
Look at the logfile. On Tue, Jul 19, 2011 at 3:41 PM, chiache <
|
So how should we fix it? Is it never gonna to be one of the races? |
Oren would be better answering that question, he wrote that piece of code. On Tue, Jul 19, 2011 at 4:19 PM, chiache <
|
I think Nico is right: a signal that has not been handled yet will have signal.hanlded == None. This happens only if session.py:Signal:find_signals() didn't find the 'hanlded' cookie for that signal (i.e. the signal was not handled). In that case, there isn't really a race - because an un-handled signal does not affect any system call, so there isn't much to reorder either. I suggest that we ignore un-handled signals, e.g. replace: 267 signals.append(Signal(**sig)) with: 267 if not signal.handled: can you please verify that it works ? |
In which file ? On Tue, Jul 19, 2011 at 6:14 PM, orenl <
|
Let me try. Tsai, Chia-che (Jerry) chiache.tsai@gmail.com On Tue, Jul 19, 2011 at 6:14 PM, orenl <
|
session.py:Signal:find_signals() On 07/19/2011 06:15 PM, nviennot wrote:
|
doh !!! of course, it should be: 267 if signal.handled: (remove the "not" !) On 07/19/2011 06:15 PM, nviennot wrote:
|
Do NOT modify session.py, modify your own code to skip unhandled signals. On Tue, Jul 19, 2011 at 6:17 PM, orenl <
|
so fierce :( you can instead make racecore.py:RaceSignal:prepare() return False 257 def prepare(self, graph): On 07/19/2011 06:18 PM, nviennot wrote:
|
DEBUG:root:Race list <racepro.racecore.RaceList instance at 0x11cee5ec>
Traceback (most recent call last):
File "/usr/local/bin/racetest", line 152, in
racetest.do_all_tests(args, tests)
File "/usr/local/lib/python2.6/dist-packages/racepro/racetest.py", line 272, in do_all_tests
if not do_one_test(args, t_name, t_exec):
File "/usr/local/lib/python2.6/dist-packages/racepro/racetest.py", line 199, in do_one_test
if not _findraces(args, opts):
File "/usr/local/lib/python2.6/dist-packages/racepro/racetest.py", line 114, in _findraces
racecore.find_show_races(graph, args)
File "/usr/local/lib/python2.6/dist-packages/racepro/racecore.py", line 665, in find_show_races
count = output_races(race_list, args.path, 'SIGNAL', count, args.count)
File "/usr/local/lib/python2.6/dist-packages/racepro/racecore.py", line 631, in output_races
if race.prepare(race_list.graph):
File "/usr/local/lib/python2.6/dist-packages/racepro/racecore.py", line 277, in prepare
crosscut = graph.crosscut([node])
File "/usr/local/lib/python2.6/dist-packages/racepro/execgraph.py", line 179, in crosscut
vc = reduce(lambda vc, nl: vc.merge(nl.vclock), cut, VectorClock())
File "/usr/local/lib/python2.6/dist-packages/racepro/execgraph.py", line 179, in
vc = reduce(lambda vc, nl: vc.merge(nl.vclock), cut, VectorClock())
File "/usr/local/lib/python2.6/dist-packages/racepro/execgraph.py", line 53, in vclock
return self.node.prev_node().vclock
AttributeError: 'NoneType' object has no attribute 'prev_node'
The text was updated successfully, but these errors were encountered: