"ReentrantReadWriteLock - Possible lock problem" and Atom image upload format problem

View: New views
3 Messages — Rating Filter:   Alert me  

"ReentrantReadWriteLock - Possible lock problem" and Atom image upload format problem

by Andrew Bailey-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I was using the atom protocol to upload an image.
I made a mistake once and put a space between curl -d @ /tmp/...
The upload hung so I did a Ctrl C
I then did an upload without the space ie @/tmp/...

Then when I used the exist webstart administration client the client locked up
ie the user inteface froze (is SwingWorker being used to do the
connections in a separate thread?)
and the sever log showed
ReentrantReadWriteLock  - Possible lock problem (see below)

Also the jpeg files stored in the server dont seem to be in the jpeg
format, I assume I got the wrong curl parameters when I uploaded the
files. Can anyone help me out there?

Can I upload the <?xml ..?><entry ..> as well as the binary image in a
multipart post?

Is the reentrant lock problem a bug?

Sorry to ask so many questions :)

Thanks

Andy Bailey


Details of what I was doing at the time:

$  curl -v -i --data @/tmp/n830125570_3288798_9905.jpg -H
"Content-Type:image/jpeg"  -H "Slug:CNC Machine"
http://localhost:9080/orbeon/exist/atom/edit/resources/photos
* About to connect() to localhost port 9080
*   Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 9080
> POST /orbeon/exist/atom/edit/resources/photos HTTP/1.1
> User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.1 libidn/0.6.5
> Host: localhost:9080
> Accept: */*
> Content-Type:image/jpeg
> Slug:CNC Machine
> Content-Length: 22714
> Expect: 100-continue
>
HTTP/1.1 100 Continue
HTTP/1.1 100 Continue

< HTTP/1.1 201 Created
HTTP/1.1 201 Created
< Server: Apache-Coyote/1.1
Server: Apache-Coyote/1.1
< Location: /edit/resources/photos?id=urn:uuid:6acf3dce-1b97-4451-8171-c4caad4edf81
Location: /edit/resources/photos?id=urn:uuid:6acf3dce-1b97-4451-8171-c4caad4edf81
< Content-Type: application/atom+xml;charset=UTF-8
Content-Type: application/atom+xml;charset=UTF-8
< Transfer-Encoding: chunked
Transfer-Encoding: chunked
< Date: Thu, 10 Jul 2008 14:49:18 GMT
Date: Thu, 10 Jul 2008 14:49:18 GMT

* Connection #0 to host localhost left intact
* Closing connection #0
<?xml version="1.0"
encoding="utf-8"?><entry><id>urn:uuid:6acf3dce-1b97-4451-8171-c4caad4edf81</id><published>2008-07-10T09:49:15-05:00</published><updated>2008-07-10T09:49:15-05:00</updated><title>CNC
Machine</title><link
href="?id=urn:uuid:6acf3dce-1b97-4451-8171-c4caad4edf81" rel="edit"
type="application/atom+xml"/><link href="CNC Machine" rel="edit-media"
type="image/jpeg"/><content src="CNC Machine"
type="image/jpeg"/></entry>[andy@mail atom]$
[andy@mail atom]$ curl -v
http://localhost:9080/orbeon/exist/atom/content/resources/photos
* About to connect() to localhost port 9080
*   Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 9080
> GET /orbeon/exist/atom/content/resources/photos HTTP/1.1
> User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.1 libidn/0.6.5
> Host: localhost:9080
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Content-Type: application/atom+xml;charset=UTF-8
< Transfer-Encoding: chunked
< Date: Thu, 10 Jul 2008 14:52:22 GMT
<feed xmlns="http://www.w3.org/2005/Atom">
    <id><![CDATA[urn:uuid:1b9be65b-6239-4d88-afeb-760f3b6c2e9a]]></id>
    <updated>2008-07-10T09:49:15-05:00</updated>
    <link href="#" rel="edit" type="application/atom+xml"/>
    <title>MFG Open Source Photos</title>
    <subtitle>Photographs asociated with the site</subtitle>
    <accept>image/*</accept>
    <entry>
        <id>urn:uuid:6acf3dce-1b97-4451-8171-c4caad4edf81</id>
        <published>2008-07-10T09:49:15-05:00</published>
        <updated>2008-07-10T09:49:15-05:00</updated>
        <title>CNC Machine</title>
        <link href="?id=urn:uuid:6acf3dce-1b97-4451-8171-c4caad4edf81"
rel="edit" type="application/atom+xml"/>
        <link href="CNC Machine" rel="edit-media" type="image/jpeg"/>
        <content src="CNC Machine" type="image/jpeg"/>
    </entry>
* Connection #0 to host localhost left intact
* Closing connection #0

Server log

2008-07-10 09:53:43,205 WARN  DBBroker  - Failed to acquire lock on
collection '/db/newfeed'
2008-07-10 09:57:43,632 WARN  Collection  - time out while acquiring a lock
org.exist.util.LockException: time out while acquiring a lock
        at org.exist.storage.lock.ReentrantReadWriteLock.acquire(ReentrantReadWriteLock.java:94)
        at org.exist.collections.Collection.getPermissions(Collection.java:561)
        at org.exist.xmlrpc.RpcConnection.getPermissions(RpcConnection.java:979)
        at org.exist.xmlrpc.RpcConnection.getPermissions(RpcConnection.java:962)
        at org.exist.xmlrpc.RpcServer.getPermissions(RpcServer.java:474)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.exist.xmlrpc.AuthenticatedHandler.execute(AuthenticatedHandler.java:120)
        at org.exist.xmlrpc.AuthenticatedHandler.execute(AuthenticatedHandler.java:67)
        at org.apache.xmlrpc.XmlRpcWorker.invokeHandler(XmlRpcWorker.java:128)
        at org.apache.xmlrpc.XmlRpcWorker.execute(XmlRpcWorker.java:185)
        at org.apache.xmlrpc.XmlRpcServer.execute(XmlRpcServer.java:151)
        at org.apache.xmlrpc.XmlRpcServer.execute(XmlRpcServer.java:139)
        at org.exist.xmlrpc.RpcServlet.doPost(RpcServlet.java:65)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
2008-07-10 09:57:46,025 WARN  ReentrantReadWriteLock  - Possible lock
problem: thread Thread[http-9080-3,5,main] released a lock it didn't
hold. Either the thread was interrupted or it never acquired the lock.
The lock was owned by: Thread[http-9080-1,5,main]
2008-07-10 09:57:46,025 WARN  ReentrantReadWriteLock  - Possible lock
problem: thread Thread[http-9080-3,5,main] released a lock it didn't
hold. Either the thread was interrupted or it never acquired the lock.
The lock was owned by: Thread[http-9080-1,5,main]


I shutdown the instance of tomcat and restarted it
Everything works fine now.

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Exist-open mailing list
Exist-open@...
https://lists.sourceforge.net/lists/listinfo/exist-open

Re: "ReentrantReadWriteLock - Possible lock problem" and Atom image upload format problem

by Dannes Wessels-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

On Jul 10, 2008, at 18:12 , Andrew Bailey wrote:

> Is the reentrant lock problem a bug?
> 2008-07-10 09:57:46,025 WARN  ReentrantReadWriteLock  - Possible lock
> problem: thread Thread[http-9080-3,5,main] released a lock it didn't
> hold. Either the thread was interrupted or it never acquired the lock.
> The lock was owned by: Thread[http-9080-1,5,main]

The crucial question is.... which version of the eXist-db are you  
using? You mentioned 1.1.1 earlier, well we did 'some' development  
since then. Quite some. Most of these issues have been solved  
approximately in summer 2007. If you use this release, please upgrade.  
If you have a more recent version... then we have a problem.

thnx

Dannes Wessels
eXist-db Open Source Native XML Database
http://exist-db.org






-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Exist-open mailing list
Exist-open@...
https://lists.sourceforge.net/lists/listinfo/exist-open

smime.p7s (2K) Download Attachment

Re: "ReentrantReadWriteLock - Possible lock problem" and Atom image upload format problem

by Dannes Wessels-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

On Jul 10, 2008, at 18:12 , Andrew Bailey wrote:

> Is the reentrant lock problem a bug?
> 2008-07-10 09:57:46,025 WARN  ReentrantReadWriteLock  - Possible lock
> problem: thread Thread[http-9080-3,5,main] released a lock it didn't
> hold. Either the thread was interrupted or it never acquired the lock.
> The lock was owned by: Thread[http-9080-1,5,main]

The crucial question is.... which version of the eXist-db are you  
using? You mentioned 1.1.1 earlier, well we did 'some' development  
since then. Quite some. Most of these issues have been solved  
approximately summer 2007. If you use this release, please upgrade. If  
you have a more

Dannes Wessels
eXist-db Open Source Native XML Database
http://exist-db.org






-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Exist-open mailing list
Exist-open@...
https://lists.sourceforge.net/lists/listinfo/exist-open

smime.p7s (2K) Download Attachment
LightInTheBox - Buy quality products at wholesale price