Skip to content

Intermittent failure of test-modex.rb #2

@baron1405

Description

@baron1405

As part of our nightly build we run the FSDB unit tests. Intermittently the test-modex.rb tests fail. The output from the test is:

deadlock 0x7ffde572ffc0: sleep:-  - ./lib/fsdb/modex.rb:53
deadlock 0x7ffde5730358: sleep:-  - ./lib/fsdb/modex.rb:53
deadlock 0x7ffde5730830: sleep:-  - ./lib/fsdb/modex.rb:53
deadlock 0x7ffde5730d80: sleep:-  - ./lib/fsdb/modex.rb:53
deadlock 0x7ffde57312d0: sleep:-  - ./lib/fsdb/modex.rb:53
deadlock 0x7ffde5731758: sleep:-  - ./lib/fsdb/modex.rb:53
deadlock 0x7ffde5731ca8: sleep:-  - ./lib/fsdb/modex.rb:53
deadlock 0x7ffde5732130: sleep:-  - ./lib/fsdb/modex.rb:53
deadlock 0x7ffde5732518: sleep:-  - ./lib/fsdb/modex.rb:53
deadlock 0x7ffde575f360: sleep:J(0x7ffde5732518) (main) - test/test-modex.rb:118
deadlock 0x7ffde572fc28: sleep:-  - ./lib/fsdb/modex.rb:53
not owner
  ./lib/fsdb/modex.rb:53:in `synchronize'
  ./lib/fsdb/modex.rb:41:in `lock'
  ./lib/fsdb/modex.rb:94:in `synchronize'
  test/test-modex.rb:89
  test/test-modex.rb:84:in `times'
  test/test-modex.rb:84
  test/test-modex.rb:45:in `initialize'
  test/test-modex.rb:43:in `initialize'
  test/test-modex.rb:67:in `new'
  test/test-modex.rb:67
  test/test-modex.rb:3:in `map'
  test/test-modex.rb:66:in `each'
  test/test-modex.rb:66:in `map'
  test/test-modex.rb:66
not owner
  ./lib/fsdb/modex.rb:53:in `synchronize'
  ./lib/fsdb/modex.rb:41:in `lock'
  ./lib/fsdb/modex.rb:94:in `synchronize'
  test/test-modex.rb:89
  test/test-modex.rb:84:in `times'
  test/test-modex.rb:84
  test/test-modex.rb:45:in `initialize'
  test/test-modex.rb:43:in `initialize'
  test/test-modex.rb:67:in `new'
  test/test-modex.rb:67
  test/test-modex.rb:3:in `map'
  test/test-modex.rb:66:in `each'
  test/test-modex.rb:66:in `map'
  test/test-modex.rb:66
not owner
  ./lib/fsdb/modex.rb:53:in `synchronize'
  ./lib/fsdb/modex.rb:41:in `lock'
  ./lib/fsdb/modex.rb:94:in `synchronize'
  test/test-modex.rb:89
  test/test-modex.rb:84:in `times'
  test/test-modex.rb:84
  test/test-modex.rb:45:in `initialize'
  test/test-modex.rb:43:in `initialize'
  test/test-modex.rb:67:in `new'
  test/test-modex.rb:67
  test/test-modex.rb:3:in `map'
  test/test-modex.rb:66:in `each'
  test/test-modex.rb:66:in `map'
  test/test-modex.rb:66
not owner
  ./lib/fsdb/modex.rb:53:in `synchronize'
  ./lib/fsdb/modex.rb:41:in `lock'
  ./lib/fsdb/modex.rb:94:in `synchronize'
  test/test-modex.rb:89
  test/test-modex.rb:84:in `times'
  test/test-modex.rb:84
  test/test-modex.rb:45:in `initialize'
  test/test-modex.rb:43:in `initialize'
  test/test-modex.rb:67:in `new'
  test/test-modex.rb:67
  test/test-modex.rb:3:in `map'
  test/test-modex.rb:66:in `each'
  test/test-modex.rb:66:in `map'
  test/test-modex.rb:66
not owner
  ./lib/fsdb/modex.rb:53:in `synchronize'
  ./lib/fsdb/modex.rb:41:in `lock'
  ./lib/fsdb/modex.rb:94:in `synchronize'
  test/test-modex.rb:89
  test/test-modex.rb:84:in `times'
  test/test-modex.rb:84
  test/test-modex.rb:45:in `initialize'
  test/test-modex.rb:43:in `initialize'
  test/test-modex.rb:67:in `new'
  test/test-modex.rb:67
  test/test-modex.rb:3:in `map'
  test/test-modex.rb:66:in `each'
  test/test-modex.rb:66:in `map'
  test/test-modex.rb:66
not owner
  ./lib/fsdb/modex.rb:53:in `synchronize'
  ./lib/fsdb/modex.rb:41:in `lock'
  ./lib/fsdb/modex.rb:94:in `synchronize'
  test/test-modex.rb:101
  test/test-modex.rb:84:in `times'
  test/test-modex.rb:84
  test/test-modex.rb:45:in `initialize'
  test/test-modex.rb:43:in `initialize'
  test/test-modex.rb:67:in `new'
  test/test-modex.rb:67
  test/test-modex.rb:3:in `map'
  test/test-modex.rb:66:in `each'
  test/test-modex.rb:66:in `map'
  test/test-modex.rb:66
not owner
  ./lib/fsdb/modex.rb:53:in `synchronize'
  ./lib/fsdb/modex.rb:41:in `lock'
  ./lib/fsdb/modex.rb:94:in `synchronize'
  test/test-modex.rb:89
  test/test-modex.rb:84:in `times'
  test/test-modex.rb:84
  test/test-modex.rb:45:in `initialize'
  test/test-modex.rb:43:in `initialize'
  test/test-modex.rb:67:in `new'
  test/test-modex.rb:67
  test/test-modex.rb:3:in `map'
  test/test-modex.rb:66:in `each'
  test/test-modex.rb:66:in `map'
  test/test-modex.rb:66
not owner
  ./lib/fsdb/modex.rb:53:in `synchronize'
  ./lib/fsdb/modex.rb:41:in `lock'
  ./lib/fsdb/modex.rb:94:in `synchronize'
  test/test-modex.rb:89
  test/test-modex.rb:84:in `times'
  test/test-modex.rb:84
  test/test-modex.rb:45:in `initialize'
  test/test-modex.rb:43:in `initialize'
  test/test-modex.rb:67:in `new'
  test/test-modex.rb:67
  test/test-modex.rb:3:in `map'
  test/test-modex.rb:66:in `each'
  test/test-modex.rb:66:in `map'
  test/test-modex.rb:66
not owner
  ./lib/fsdb/modex.rb:53:in `synchronize'
  ./lib/fsdb/modex.rb:41:in `lock'
  ./lib/fsdb/modex.rb:94:in `synchronize'
  test/test-modex.rb:89
  test/test-modex.rb:84:in `times'
  test/test-modex.rb:84
  test/test-modex.rb:45:in `initialize'
  test/test-modex.rb:43:in `initialize'
  test/test-modex.rb:67:in ./lib/fsdb/modex.rb:53: Thread(0x7ffde572fc28): deadlock (fatal)
    from test/test-modex.rb:3:in `inject'
    from test/test-modex.rb:118:in `each'
    from test/test-modex.rb:118:in `inject'
    from test/test-modex.rb:118
`new'
  test/test-modex.rb:67
  test/test-modex.rb:3:in `map'
  test/test-modex.rb:66:in `each'
  test/test-modex.rb:66:in `map'
  test/test-modex.rb:66
not owner
  ./lib/fsdb/modex.rb:53:in `synchronize'
  ./lib/fsdb/modex.rb:41:in `lock'
  ./lib/fsdb/modex.rb:94:in `synchronize'
  test/test-modex.rb:101
  test/test-modex.rb:84:in `times'
  test/test-modex.rb:84
  test/test-modex.rb:45:in `initialize'
  test/test-modex.rb:43:in `initialize'
  test/test-modex.rb:67:in `new'
  test/test-modex.rb:67
  test/test-modex.rb:3:in `map'
  test/test-modex.rb:66:in `each'
  test/test-modex.rb:66:in `map'
  test/test-modex.rb:66

The system configuration is:

  • Ruby 1.8.7
  • CentOS 6.2
  • FSDB commit 9dfb60e (0.7.2 plus shared_lock and 1.8.7 commits)

The test-concurrency.rb, test-formats.rb, and test-fsdb.rb tests all pass reliably.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions