Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #2562 (closed)

Opened 14 years ago

Closed 14 years ago

RepoRawFileStore fails on write

Reported by: jamoore Owned by: jamoore
Priority: critical Milestone: OMERO-Beta4.2
Component: General Version: n.a.
Keywords: n.a. Cc:
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: 2010-06-24 (12)

Description (last modified by jmoore)

Both truncate and write lead to exceptions.

Issues:

  • Utils.pathToSha1() leaks file descriptors, leading to RandomAccessFile to fail with odd exceptions (see below)
  • write() is not implemented.

Attachments (2)

log.zip (8.7 KB) - added by wmoore 14 years ago.
Logs for bug - see console.txt
console-lsof.txt (48.3 KB) - added by wmoore 14 years ago.
From server startup to bug. lsof and diagnostics.

Download all attachments as: .zip

Change History (14)

comment:1 Changed 14 years ago by jmoore

  • Description modified (diff)
  • Priority changed from minor to critical
  • Status changed from new to assigned
wjm:scripts will$ omero -s localhost -u root script replace 109 omero/util_scripts/Combine_Images.py
Using session bdc080ea-576b-490e-8902-224969c08305 (root@localhost). Idle timeout: 10.0 min. Current group: system
Traceback (most recent call last):
  File "/Users/will/Documents/workspace/Omero/dist/bin/omero", line 139, in <module>
    rv = omero.cli.argv()
  File "/Users/will/Documents/workspace/Omero/dist/lib/python/omero/cli.py", line 1111, in argv
    cli.invoke(args[1:])
  File "/Users/will/Documents/workspace/Omero/dist/lib/python/omero/cli.py", line 697, in invoke
    stop = self.onecmd(line, previous_args)
  File "/Users/will/Documents/workspace/Omero/dist/lib/python/omero/cli.py", line 740, in onecmd
    self.execute(line, previous_args)
  File "/Users/will/Documents/workspace/Omero/dist/lib/python/omero/cli.py", line 820, in execute
    args.func(args)
  File "/Users/will/Documents/workspace/Omero/dist/lib/python/omero/plugins/script.py", line 483, in replace
    client.upload(fpath, ofile=ofile)
  File "/Users/will/Documents/workspace/Omero/dist/lib/python/omero/clients.py", line 620, in upload
    prx.truncate(size) # ticket:2337
  File "/Users/will/Documents/workspace/Omero/dist/lib/python/omero_api_RawFileStore_ice.py", line 103, in truncate
    return _M_omero.api.RawFileStore._op_truncate.invoke(self, ((length, ), _ctx))
omero.InternalException: exception ::omero::InternalException
{
    serverStackTrace = java.nio.channels.NonWritableChannelException
    at sun.nio.ch.FileChannelImpl.truncate(FileChannelImpl.java:328)
    at ome.services.blitz.repo.RepoRawFileStoreI.truncate_async(RepoRawFileStoreI.java:110)
    at omero.api._RawFileStoreDisp.___truncate(_RawFileStoreDisp.java:223)
    at omero.api._RawFileStoreDisp.__dispatch(_RawFileStoreDisp.java:375)
    at IceInternal.Incoming.invoke(Incoming.java:159)
    at Ice.ConnectionI.invokeAll(ConnectionI.java:2037)
    at Ice.ConnectionI.message(ConnectionI.java:972)
    at IceInternal.ThreadPool.run(ThreadPool.java:577)
    at IceInternal.ThreadPool.access$100(ThreadPool.java:12)
    at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971)

    serverExceptionClass = java.nio.channels.NonWritableChannelException
    message = 

comment:2 Changed 14 years ago by jmoore

  • Remaining Time changed from 1 to 0
  • Resolution set to fixed
  • Status changed from assigned to closed

(In [7457]) Fixing writing of official scripts and file leak (Fix #2562)

comment:3 Changed 14 years ago by jmoore

(In [7458]) Fixing other bugs and leaks (See #2562)

Changed 14 years ago by wmoore

Logs for bug - see console.txt

Changed 14 years ago by wmoore

From server startup to bug. lsof and diagnostics.

comment:4 Changed 14 years ago by wmoore

(In [7464]) Failing test. See #2562.

comment:5 Changed 14 years ago by jmoore

(In [7468]) Preventing client.download leak. (See #2562)

comment:6 Changed 14 years ago by jmoore

  • Resolution fixed deleted
  • Status changed from closed to reopened

Still happening for Will. May have to disable for release.

comment:7 Changed 14 years ago by wmoore

(In [7472]) Test passes for scriptService.editScript(). See #2562.

comment:8 Changed 14 years ago by wmoore

scriptService.editScript() is working for me. See test - commit below:

wjm:OmeroPy will$ PYTHONPATH=$PYTHONPATH:.:test:build/lib ICE_CONFIG=/Users/will/Documents/workspace/Omero/etc/ice.config python test/integration/scripts.py TestScripts.testEditScript
.
----------------------------------------------------------------------
Ran 1 test in 5.400s

OK

comment:9 Changed 14 years ago by wmoore

(In [7490]) replace command now uses editScript(). clitest/script.py now passes. See #2562, 2566

comment:10 Changed 14 years ago by jmoore

(In [7511]) Fixing '../' in official uploaded files (See #2562)

This commit also rolls back the write functionality of RepoRawFileStore.
This is due to a possible file leak, which causes the NonWriteableChannel
exception see in 2562.

comment:11 Changed 14 years ago by jmoore

r7518 should successfully close this. ScriptI should be properly behaving for all of official scripts in 4.2.0.

comment:12 Changed 14 years ago by jmoore

  • Resolution set to fixed
  • Status changed from reopened to closed
Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.69370 sec.)

We're Hiring!