#460 closed defect (fixed)

cp -rv fails rather gracelessly in face of network quake

Reported by: robk Owned by:
Priority: minor Milestone: 1.6.0
Component: code-frontend-cli Version: 1.1.0
Keywords: tahoe-cp error Cc:
Launchpad Bug:

Description (last modified by robk)

c.f. #459

when a long running cp -rv hits a network quake (e.g. laptop is taken to a different network locale) one of the copies fails, but the error reported stems from within the node, and hence the exception propagated back up is a '500 internal server error' containing verbatim the source of a nevow rendered exception. this is perhaps not the most suitable way to report a problem on the command line.

furthermore when using the 'tahoe' cli from the mac .app bundle, the error appears in a dialogue box which fills the screen.

Attachments (1)

Picture 169.png (150.3 KB) - added by robk at 2008-06-12T18:21:43Z.
screen shot of error reporting from mac 'tahoe'

Download all attachments as: .zip

Change History (3)

Changed at 2008-06-12T18:21:43Z by robk

screen shot of error reporting from mac 'tahoe'

comment:1 Changed at 2008-06-12T18:24:26Z by robk

  • Description modified (diff)

capture of the output of cli 'tahoe cp -rv'

the break after the first few lines indicates the point of the network quake:

1505/10802 files, 156/987 directories
1506/10802 files, 156/987 directories
1507/10802 files, 156/987 directories
1508/10802 files, 156/987 directories




Traceback (most recent call last):
  File "/Users/robk/trees/tahoe/mac/dist/Allmydata.app/Contents/Resources/__boot__.py", line 131, in ?
    _run('allmydata_tahoe.py')
  File "/Users/robk/trees/tahoe/mac/dist/Allmydata.app/Contents/Resources/__boot__.py", line 128, in _run
    execfile(path, globals(), globals())
  File "/Users/robk/trees/tahoe/mac/dist/Allmydata.app/Contents/Resources/allmydata_tahoe.py", line 57, in ?
    main(sys.argv)
  File "/Users/robk/trees/tahoe/mac/dist/Allmydata.app/Contents/Resources/allmydata_tahoe.py", line 53, in main
    additional_commands=runner_extensions,
  File "allmydata/scripts/runner.pyc", line 66, in runner
  File "allmydata/scripts/cli.pyc", line 283, in cp
  File "allmydata/scripts/tahoe_cp.pyc", line 711, in copy
  File "allmydata/scripts/tahoe_cp.pyc", line 468, in do_copy
  File "allmydata/scripts/tahoe_cp.pyc", line 619, in copy_to_directory
  File "allmydata/scripts/tahoe_cp.pyc", line 648, in copy_files_to_target
  File "allmydata/scripts/tahoe_cp.pyc", line 687, in copy_file_into
  File "allmydata/scripts/tahoe_cp.pyc", line 375, in put_file
  File "allmydata/scripts/tahoe_cp.pyc", line 36, in PUT
allmydata.scripts.tahoe_cp.WriteError: Error during PUT: 500 Internal Server Error <html><head><title>Exception</title></head><body><style type="text/css">
p.error {
  color: black;
  font-family: Verdana, Arial, helvetica, sans-serif;
  font-weight: bold;
  font-size: large;
  margin: 0.25em;
}

div {
  font-family: Verdana, Arial, helvetica, sans-serif;
}

strong.variableClass {
  font-size: small;
}

div.stackTrace {
}

div.frame {
  padding: 0.25em;
  background: white;
  border-bottom: thin black dotted;
}

div.firstFrame {
  padding: 0.25em;
  background: white;
  border-top: thin black dotted;
  border-bottom: thin black dotted;
}

div.location {
    font-size: small;
}

div.snippet {
  background: #FFFFDD;
  padding: 0.25em;
}

div.snippetHighlightLine {
  color: red;
}

span.lineno {
    font-size: small;
}

pre.code {
  margin: 0px;
  padding: 0px;
  display: inline;
  font-size: small;
  font-family: "Courier New", courier, monotype;
}

span.function {
  font-weight: bold;
  font-family: "Courier New", courier, monotype;
}

table.variables {
  border-collapse: collapse;
  width: 100%;
}

td.varName {
  width: 1in;
  vertical-align: top;
  font-style: italic;
  font-size: small;
  padding-right: 0.25em;
}

td.varValue {
  padding-left: 0.25em;
  padding-right: 0.25em;
  font-size: small;
}

div.variables {
  margin-top: 0.5em;
}

div.dict {
  background: #cccc99;
  padding: 2px;
  float: left;
}

td.dictKey {
  background: #ffff99;
  font-weight: bold;
}

td.dictValue {
  background: #ffff99;
}

div.list {
  background: #7777cc;
  padding: 2px;
  float: left;
}

div.listItem {
  background: #9999ff;
}

div.instance {
  width: 100%;
  background: #efefef;
  padding: 2px;
  float: left;
}

span.instanceName {
  font-size: small;
  display: block;
}

span.instanceRepr {
  font-family: "Courier New", courier, monotype;
}

div.function {
  background: orange;
  font-weight: bold;
  float: left;
}
</style><a href="#tracebackEnd"><p class="error">twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.</p></a><div class="stackTrace"></div><a name="tracebackEnd"><p class="error">twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.</p></a></body></html>
2008-06-12 10:55:41.387 Allmydata[changeset:1a6da7286188b492] Allmydata Error
2008-06-12 10:55:41.388 Allmydata[changeset:1a6da7286188b492] Allmydata Error
An unexpected error has occurred during execution of the main script

WriteError: Error during PUT: 500 Internal Server Error <html><head><title>Exception</title></head><body><style type="text/css">
p.error {
  color: black;
  font-family: Verdana, Arial, helvetica, sans-serif;
  font-weight: bold;
  font-size: large;
  margin: 0.25em;
}

div {
  font-family: Verdana, Arial, helvetica, sans-serif;
}

strong.variableClass {
  font-size: small;
}

div.stackTrace {
}

div.frame {
  padding: 0.25em;
  background: white;
  border-bottom: thin black dotted;
}

div.firstFrame {
  padding: 0.25em;
  background: white;
  border-top: thin black dotted;
  border-bottom: thin black dotted;
}

div.location {
    font-size: small;
}

div.snippet {
  background: #FFFFDD;
  padding: 0.25em;
}

div.snippetHighlightLine {
  color: red;
}

span.lineno {
    font-size: small;
}

pre.code {
  margin: 0px;
  padding: 0px;
  display: inline;
  font-size: small;
  font-family: "Courier New", courier, monotype;
}

span.function {
  font-weight: bold;
  font-family: "Courier New", courier, monotype;
}

table.variables {
  border-collapse: collapse;
  width: 100;
}

td.varName {
  width: 1in;
  vertical-align: top;
  font-style: italic;
  font-size: small;
  padding-right: 0.25em;
}

td.varValue {
  padding-left: 0.25em;
  padding-right: 0.25em;
  font-size: small;
}

div.variables {
  margin-top: 0.5em;
}

div.dict {
  background: #cccc99;
  padding: 2px;
  float: left;
}

td.dictKey {
  background: #ffff99;
  font-weight: bold;
}

td.dictValue {
  background: #ffff99;
}

div.list {
  background: #7777cc;
  padding: 2px;
  float: left;
}

div.listItem {
  background: #9999ff;
}

div.instance {
  width: 100;
  background: #efefef;
  padding: 2px;
  float: left;
}

span.instanceName {
  font-size: small;
  display: block;
}

span.instanceRepr {
  font-family: "Courier New", courier, monotype;
}

div.function {
  background: orange;
  font-weight: bold;
  float: left;
}
</style><a href="#tracebackEnd"><p class="error">twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.</p></a><div class="stackTrace"></div><a name="tracebackEnd"><p class="error">twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.</p></a></body></html>
#[Thu Jun 12 10:56:52] otto:~$ 

comment:2 Changed at 2010-06-12T23:00:22Z by davidsarah

  • Keywords tahoe-cp error added
  • Milestone changed from undecided to 1.6.0
  • Resolution set to fixed
  • Status changed from new to closed

Probably fixed by #646.

Note: See TracTickets for help on using tickets.