Does Spring's AbstractController reuse threads?
Hello all,
I am planning on using a ThreadLocal<ProxySelector> so each time I call a WS a different proxy is used.
For that, each time AbstractController returns a thread I want to have a thread that is unique.
Is this the case with AbstractController, or are threads re-used?
Thank you, Dimitris
Why are you not asking this in the Spring forum?
http://forum.springsource.org/forum.php
Over there you'll find hundreds of developers using Spring, over here - if you're lucky a few and they might miss your thread because you're posting in an off-topic forum (this has nothing to do with webservices).
Similar Messages
-
What does it mean to be "thread safe"?
What does it mean to be "thread safe"?
I am working with a team on a project here at work. Someone here suggested that we build all of our screens during the initialization of the application to save time later. During the use of the application, the screens would then be made visible or invisible.
One of the objections to that idea was that the swing components (many of which we use) are not thread safe. Can anyone tell me what the relevance of that is?
ThanksTo understand why Swing is not thread safe you have to understand a little bit of history, and a little bit of how swing actually works. The history(short version) is that it is nearly impossible to make a GUI toolkit thread safe. X is thread safe(well, sorta) and it's a really big mess. So to keep things simple(and fast) Swing was developed with an event model. The swing components themselves are not thread safe, but if you always change them with an event on the event queue, you will never have a problem. Basically, there is a Thread always running with any GUI program. It's called the awt event handler. When ever an event happens, it goes on an event queue and the event handler picks them off one by one and tells the correct components about it. If you have code that you want to manipulate swing components, and you are not ON the awt thread(inside a listener trail) you must use this code.
SwingUtilities.invokeLater( new Runnable() {
public void run() {
// code to manipulate swing component here
});This method puts the defined runnable object on the event queue for the awt thread to deal with. This way changes to the components happen in order, in a thread safe way. -
Does setQueryTimeout still spawn a thread with Microsoft JDBC Driver 4.0?
Hi,
Does setQueryTimeout still spawn a thread with Microsoft JDBC Driver 4.0?
This link here indicates this was fixed awhile ago:
http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx
However, we are using Microsoft JDBC Driver 4.0 but are noticing that a setQueryTimeout thread is being spawned (of class com.microsoft.sqlserver.jdbc.TimeoutTimer) for every query we execute.
And, the thread seems to stay around even after the query has finished executing.
Can anyone confirm whether this is actually fixed?
Or, does anyone have any ideas how we can avoid having a new thread spawned for monitoring for a query timeout?
Thanks!Hi,
Does setQueryTimeout still spawn a thread with Microsoft JDBC Driver 4.0?
This link here indicates this was fixed awhile ago:
http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx
However, we are using Microsoft JDBC Driver 4.0 but are noticing that a setQueryTimeout thread is being spawned (of class com.microsoft.sqlserver.jdbc.TimeoutTimer) for every query we execute.
And, the thread seems to stay around even after the query has finished executing.
Can anyone confirm whether this is actually fixed?
Or, does anyone have any ideas how we can avoid having a new thread spawned for monitoring for a query timeout?
Thanks! -
How does WebLogic clean up stuck threads?
Hi,
Using WebLogic 9.2.2 on Linux OS. In our logs, we are finding some stuck threads and it seems to be due to something WebLogic is doing. While we don't understand the cause (maybe the stack trace helps), does WebLogic do anything to remove stuck threads from its pool, or is there anything we can do to configure it to?
<Jul 21, 2009 2:50:21 PM UTC> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "605" seconds working on the request "Http Request: /RoutingEngine/pcFlow.do", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
Thread-69 "[STUCK] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" <alive, in native, suspended, priority=1, DAEMON> {
jrockit.net.SocketNativeIO.readBytesPinned(Unknown Source)
jrockit.net.SocketNativeIO.socketRead(Unknown Source)
java.net.SocketInputStream.socketRead0(SocketInputStream.java:???)
java.net.SocketInputStream.read(SocketInputStream.java:107)
java.io.BufferedInputStream.fill(BufferedInputStream.java:189)
java.io.BufferedInputStream.read(BufferedInputStream.java:234)
^-- Holding lock: java.io.BufferedInputStream@3537712[thin lock]
weblogic.net.http.MessageHeader.isHTTP(MessageHeader.java:214)
weblogic.net.http.MessageHeader.parseHeader(MessageHeader.java:141)
weblogic.net.http.HttpClient.parseHTTP(HttpClient.java:473)
^-- Holding lock: java.io.BufferedInputStream@3537712[thin lock]
weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:332)
^-- Holding lock: java.io.BufferedInputStream@3537712[thin lock]
weblogic.net.http.SOAPHttpURLConnection.getInputStream(SOAPHttpURLConnection.java:36)
weblogic.wsee.util.dom.DOMParser.getWebLogicDocumentImpl(DOMParser.java:92)
weblogic.wsee.util.dom.DOMParser.getDocument(DOMParser.java:56)
weblogic.wsee.wsdl.WsdlReader.getDocument(WsdlReader.java:311)
weblogic.wsee.wsdl.WsdlReader.getDocument(WsdlReader.java:305)
weblogic.wsee.wsdl.WsdlSchema.parse(WsdlSchema.java:120)
weblogic.wsee.wsdl.WsdlSchemaImport.parse(WsdlSchemaImport.java:55)
weblogic.wsee.wsdl.WsdlSchema.parse(WsdlSchema.java:82)
weblogic.wsee.wsdl.WsdlSchema.parse(WsdlSchema.java:62)
weblogic.wsee.wsdl.WsdlTypes.parse(WsdlTypes.java:145)
weblogic.wsee.wsdl.WsdlDefinitions.parseChild(WsdlDefinitions.java:452)
weblogic.wsee.wsdl.WsdlExtensible.parse(WsdlExtensible.java:84)
weblogic.wsee.wsdl.WsdlDefinitions.parse(WsdlDefinitions.java:378)
weblogic.wsee.wsdl.WsdlDefinitions.parse(WsdlDefinitions.java:358)
weblogic.wsee.wsdl.WsdlFactory.parse(WsdlFactory.java:50)
weblogic.wsee.jaxrpc.ServiceImpl.loadWsdlDefinition(ServiceImpl.java:437)
weblogic.wsee.jaxrpc.ServiceImpl.<init>(ServiceImpl.java:95)
com.myco.regui.provisioning.client.ProvisioningAccountService_Impl.<init>(ProvisioningAccountService_Impl.java:21)
com.myco.regui.provisioning.client.ProvisioningAccountService_Impl.<init>(ProvisioningAccountService_Impl.java:17)
com.myco.regui.struts.accounts.AccountsForm.contactWPS(AccountsForm.java:208)
com.myco.regui.struts.accounts.AccountsForm.validateAccountid(AccountsForm.java:161)
com.myco.regui.struts.accounts.AccountsForm.validatePCAccountId(AccountsForm.java:144)
com.myco.regui.struts.accounts.AccountsForm._validatePCFields(AccountsForm.java:112)
com.myco.regui.struts.accounts.AccountsForm.validate(AccountsForm.java:83)
org.apache.struts.chain.commands.servlet.ValidateActionForm.validate(ValidateActionForm.java:57)
org.apache.struts.chain.commands.AbstractValidateActionForm.execute(AbstractValidateActionForm.java:94)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:176)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:303)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:176)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:272)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1903)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:736)
javax.servlet.http.HttpServlet.service(HttpServlet.java:851)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:224)
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:108)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:198)
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:41)
com.myco.regui.servlets.filters.TransactionFilter.doFilter(TransactionFilter.java:23)
.......You can configure these actions to occur when not all threads are stuck, but the number of stuck threads have exceeded a configured threshold:
* Shut down the Work Manager if it has stuck threads. A Work Manager that is shut down will refuse new work and reject existing work in
the queue by sending a rejection message. In a cluster, clustered clients will fail over to another cluster member.
* Shut down the application if there are stuck threads in the application. The application is shutdown by bringing it into admin mode. All
Work Managers belonging to the application are shut down, and behave as described above.
* Mark the server instance as failed and shut it down it down if there are stuck threads in the server. In a cluster, clustered clients that
are connected or attempting to connect will fail over to another cluster member.
Link : [http://e-docs.bea.com/wls/docs103/config_wls/overload.html] -
Why does Messages not list message threads by date/time even when selected?
Every thread in messages list messages out of date/time order even when selected. How does one correct this or get them in the order I want? Thanks!! BF
HI,
This happened with the Messages Beta as well as the full version in Mountain Lion.
In both cases if one device was Off line whilst a conversation was going on the sync process when the device was turned on would not be instant.
It would fill in (sync) more like an only slightly speeded up chat.
Consequently if you were moving from a iPhone conversation to the Mac and turned the Mac On your Contacts new IMs could be mixed up with the Sync info arriving.
At the same time even though the whole IM sending thing is time stamped there appears to be no way that the App or the iPhone or the Mac can recognise the timing and move them into the right order.
There seem to be more reports of the Mac being Off and not updating the conversation properly than there are iPhones doing the same.
That could be done to this area being about the Messages app compared to the iPhone Area.
It could also be down to the way people hold their conversations in the first place.
i.e. we know about it but it is outside our ability to suggest something that fixes this.
For the points
7:23 PM Friday; October 19, 2012
Please, if posting Logs, do not post any Log info after the line "Binary Images for iChat"
iMac 2.5Ghz 5i 2011 (Mountain Lion 10.8.2)
G4/1GhzDual MDD (Leopard 10.5.8)
MacBookPro 2Gb (Snow Leopard 10.6.8)
Mac OS X (10.6.8),
Couple of iPhones and an iPad
"Limit the Logs to the Bits above Binary Images." No, Seriously -
OCIServerAttach does not return in multi-threaded mode
RedHat 6.2, Oracle 8.1.5
With OCIInitialize mode is OCI_THREADED and OCIEnvInit mode is OCI_DEFAULT, and when another application thread is started prior to calling OCIServerAttach, OCIServerAttach never returns, and seems to lock up the app, as the previously started application thread also stops.
Changing the OCIEnvInit mode to OCI_NO_MUTEX allows OCIServerAttach to complete OK.
Anyone any idea where to start looking?
The following is the sample program I used to reproduce the problem:
#include <iostream.h>
#include <fstream.h>
#define GNUSOURCE
#include <unistd.h>
#include <pthread.h>
#include <oci.h>
void * busyBody(void * )
for( int i =0; i < 30; ++i )
cout << " busyBody..." << endl;
sleep(1);
return NULL;
int main()
pthread_t mId;
if( 0 != pthread_create( &mId, NULL/*attr*/, busyBody, NULL/*arg*/ ) )
cerr << "thread failed to start" << endl;
exit(1);
sleep(3);
OCIEnv *envhp;
OCIError *errhp;
OCIServer *srvhp;
OCISvcCtx *svchp;
int i = 0;
i = OCIInitialize((ub4) OCI_THREADED,
(dvoid *)0, //user defined context for the memory call back routines
(dvoid * (*)(dvoid *, size_t)) 0, //user-defined memory allocation function
(dvoid * (*)(dvoid *, dvoid *, size_t))0, //user-defined memory re-allocation function
(void (*)(dvoid *, dvoid *)) 0 ); //user-defined memory free function
i = OCIEnvInit( (OCIEnv **) &envhp, //a pointer to a handle to the environment
OCI_DEFAULT, //specifies initialization of an environment mode
(size_t) 0, //specifies the amount of user memory to be allocated
(dvoid **) 0 ); //returns a pointer to the user memory of size xtramemsz
i = OCIHandleAlloc( (dvoid *) envhp, //an environment or a statement handle
(dvoid **) &errhp, //returns a handle to a handle type
OCI_HTYPE_ERROR, //specifies the type of handle to be allocated
(size_t) 0, //specifies an amount of user memory to be allocated
(dvoid **) 0); //returns a pointer to the user memory of size xtramemsz
/* server/service contexts */
i = OCIHandleAlloc( (dvoid *) envhp,
(dvoid **) &srvhp,
OCI_HTYPE_SERVER,
(size_t) 0,
(dvoid **) 0);
i = OCIHandleAlloc( (dvoid *) envhp,
(dvoid **) &svchp,
OCI_HTYPE_SVCCTX,
(size_t) 0,
(dvoid **) 0);
// Creates an access path to a data source for OCI operations
cout << "before OCIServerAttach" << endl;
i = OCIServerAttach( srvhp, //an uninitialized server context handle
errhp, //an error handle which can be passed to OCIErrorGet()
// assume local server
0, //specifies the database (server) to use(specifies a connect string or a service point)
0, //length of previous parm
OCI_DEFAULT); //specifies the various modes of operation. For release 8.0, pass as OCI_DEFAULT
cout << "after OCIServerAttach" << endl;
sleep(3);
return 0;
}Firefox doesn't treat each tab as a separate process. While this may be a feature sometime in the future, I don't know of any plans to introduce it anytime soon. Obviously, buying a quad core processor is going to be significantly faster than a dual-core, and your browser is usually less resource intensive than many other programs. I wouldn't use it as your purchasing decision. Firefox will run equally well on a dual-core or a quad-core, but windows and other programs will run better with 4 cores.
-
Apple support forum does not go back to thread when logging in
If I want to reply to a post I found on Google that happens to be on the Apple discussions forum, naturally I have to sign in. OK. But when I do, I'm taken away to some other spot in the forum instead of back to where I was before I signed in. ***? Apple ***** at the Internet and continues to not understand usability on the web.
Correct. It is fact of life, dictated by the Jive software (not made by Apple) that runs these forums.
The workaround is to log in before clicking a link to a specific post or forum.
Why does Apple use Jive? The ASC is the world's second-busiest forum, with more than 9.6 million persons registered, and gets more than 100,000 'hits' a day. No other forum software that can handle that volume, and is compatible with Apple OS X, can be found. -
Thread 18 Crashed:
0 libsystem_c.dylib 0x00007fff8c16e2cc memmove$VARIANT$sse3x + 1039
1 com.apple.ImageIO.framework 0x00007fff8dc2446f CGImageReadGetBytesAtOffset + 613
2 com.apple.ImageIO.framework 0x00007fff8dc241fb CGImageReadSessionGetBytes + 33
3 com.apple.ImageIO.framework 0x00007fff8dc240e1 fill_input_buffer + 197
4 libJPEG.dylib 0x00007fff8f930ee3 decode_mcu_optimized + 2848
5 libJPEG.dylib 0x00007fff8f93023a decompress_onepass + 201
6 libJPEG.dylib 0x00007fff8f930112 process_data_simple_main + 61
7 libJPEG.dylib 0x00007fff8f9300c9 _cg_jpeg_read_scanlines + 177
8 com.apple.ImageIO.framework 0x00007fff8dc2842f copyImageBlockSetJPEG + 3185
9 com.apple.ImageIO.framework 0x00007fff8dc276ff ImageProviderCopyImageBlockSetCallback + 417
10 com.apple.CoreGraphics 0x00007fff8fb00325 CGImageProviderCopyImageBlockSet + 50
11 com.apple.CoreGraphics 0x00007fff8fb2efe5 imageProvider_getBytes + 129
12 com.apple.geode 0x0000000101a626a1 DGReadBytesFromAccessSession + 206
13 com.apple.geode 0x0000000101a61d40 DGReadBytesRGBA8toARGB8 + 48
14 com.apple.geode 0x00000001019cb960 -[DGImageIOFactory readImageSource:intoConsumers:readFunctions:] + 114
15 com.apple.geode 0x00000001019cb355 -[DGImageIOFactory fulfillImageRequest:intoLockedPage:forTile:] + 2377
16 com.apple.geode 0x00000001019c99c4 -[DGImageIOFactory readRequest:intoPageRef:] + 732
17 com.apple.geode 0x00000001019c92cd -[DGImageIOFactory readHandler:] + 143
18 com.apple.CoreFoundation 0x00007fff9313c70d -[NSObject performSelector:withObject:] + 61
19 com.apple.proxtcore 0x0000000101c7eb98 -[XTSubscription postMessage:] + 104
20 com.apple.proxtcore 0x0000000101c7e3d9 -[XTDistributor distributeMessage:] + 505
21 com.apple.proxtcore 0x0000000101c7dde3 -[XTThread handleMessage:] + 339
22 com.apple.proxtcore 0x0000000101c7ca4c -[XTThread run:] + 380
23 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
24 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
25 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
26 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13Here is the entire crash file. I have also many times rebuilt the data base, permissions and many files. The last two times I just blew away the entire Aperture photo library and started over. Very frustrating.
Thanks
Chuck
Process: Aperture [835]
Path: /Applications/Aperture.app/Contents/MacOS/Aperture
Identifier: com.apple.Aperture
Version: 3.3.1 (3.3.1)
Build Info: Aperture-251003000000000~6
App Item ID: 408981426
App External ID: 8854232
Code Type: X86-64 (Native)
Parent Process: launchd [149]
Date/Time: 2012-07-12 18:15:24.246 -0400
OS Version: Mac OS X 10.7.4 (11E53)
Report Version: 9
Interval Since Last Report: 819902 sec
Crashes Since Last Report: 23
Per-App Interval Since Last Report: 108254 sec
Per-App Crashes Since Last Report: 20
Anonymous UUID: 3F66623D-5B71-4178-BE11-FF72EDF23C44
Crashed Thread: 21
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: 0x000000000000000a, 0x00000001248af000
VM Regions Near 0x1248af000:
MALLOC_LARGE (reserved 000000012245d000-000000012462f000 [ 33.8M] rw-/rwx SM=NUL reserved VM address space (unallocated)
--> mapped file 000000012462f000-0000000124bc9000 [ 5736K] r--/rwx SM=COW /Users/USER/Pictures/*/*.JPG
MALLOC_LARGE (reserved 0000000124bc9000-0000000127cc0000 [ 49.0M] rw-/rwx SM=NUL reserved VM address space (unallocated)
Application Specific Information:
objc[835]: garbage collection is OFF
Performing @selector(a_moveToTrash:) from sender NSMenuItem 0x1029b7480
Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff8d1446b6 semaphore_wait_trap + 10
1 libdispatch.dylib 0x00007fff93598d8e _dispatch_thread_semaphore_wait + 18
2 libdispatch.dylib 0x00007fff93597f7e _dispatch_barrier_sync_f_slow + 137
3 com.apple.iLifeSQLAccess 0x0000000101dec9aa -[HgEntity insertIntoRidList:idsForColumn:fromQuery:] + 426
4 com.apple.iLifeSQLAccess 0x0000000101def4e4 -[HgEntity selectDistinctList:fromQuery:] + 276
5 com.apple.iLifeSQLAccess 0x0000000101df003e -[HgEntity modelIdListFromQuery:] + 78
6 com.apple.iLifeSQLAccess 0x0000000101dd1e2e -[HgEntity modelIdListWhere:args:] + 62
7 com.apple.iLifeSQLAccess 0x0000000101dd74a5 -[HgIterator requery] + 133
8 com.apple.iLifeSQLAccess 0x0000000101e36349 -[HgIterator initWithQuery:returning:] + 377
9 com.apple.iLifeSQLAccess 0x0000000101e34f44 -[HgIterator initWithQuery:] + 20
10 com.apple.iLifeSQLAccess 0x0000000101df0856 -[HgEntity iteratorFromQuery:] + 70
11 com.apple.iLifeSQLAccess 0x0000000101defc91 -[HgEntity setForColumn:fromQuery:] + 49
12 com.apple.iLifeSQLAccess 0x0000000101def784 -[HgEntity selectDistinct:fromQuery:] + 356
13 com.apple.iLifeSQLAccess 0x0000000101def60c -[HgEntity selectDistinct:where:args:] + 60
14 com.apple.iLifeSQLAccess 0x0000000101dfb058 +[HgModel selectDistinct:fromDatabase:where:args:] + 136
15 com.apple.iLifeSQLAccess 0x0000000101dd071f +[HgModel selectDistinct:fromDatabase:where:] + 175
16 com.apple.RedRock 0x0000000100afdaa0 +[RKAlbumVersion albumIdsForVersionIds:fromDatabase:] + 80
17 com.apple.RedRock 0x0000000100b362c4 +[RKVersion fixVersionCountsForIsInTrashChange:] + 196
18 com.apple.RedRock 0x0000000100b35bb0 +[RKVersion setIsInTrashForVersions:] + 704
19 com.apple.RedRock 0x0000000100b1e68e +[RKMaster putInTrash:] + 814
20 com.apple.RedRock 0x0000000100b01245 +[RKFolder putInTrash:] + 917
21 com.apple.Aperture 0x000000010030f01a 0x100000000 + 3207194
22 com.apple.Aperture 0x00000001002a7b2c 0x100000000 + 2784044
23 com.apple.Aperture 0x00000001002a842e 0x100000000 + 2786350
24 com.apple.Aperture 0x00000001002a9656 0x100000000 + 2790998
25 com.apple.CoreFoundation 0x00007fff9313c70d -[NSObject performSelector:withObject:] + 61
26 com.apple.AppKit 0x00007fff91d3bf7e -[NSApplication sendAction:to:from:] + 139
27 com.apple.prokit 0x00000001014b88a7 -[NSProApplication sendAction:to:from:] + 100
28 com.apple.Aperture 0x00000001004c57d7 0x100000000 + 5003223
29 com.apple.AppKit 0x00007fff91e28bfb -[NSMenuItem _corePerformAction] + 399
30 com.apple.AppKit 0x00007fff91e28932 -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 125
31 com.apple.AppKit 0x00007fff920c7dd4 -[NSMenu _internalPerformActionForItemAtIndex:] + 38
32 com.apple.AppKit 0x00007fff91f56a91 -[NSCarbonMenuImpl _carbonCommandProcessEvent:handlerCallRef:] + 138
33 com.apple.AppKit 0x00007fff91da2e0b NSSLMMenuEventHandler + 339
34 com.apple.HIToolbox 0x00007fff8affd448 _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 1263
35 com.apple.HIToolbox 0x00007fff8affca54 _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14H andlerCallRec + 446
36 com.apple.HIToolbox 0x00007fff8b0138f3 SendEventToEventTarget + 76
37 com.apple.HIToolbox 0x00007fff8b05999d _ZL18SendHICommandEventjPK9HICommandjjhPKvP20OpaqueEventTargetRefS5_PP14OpaqueE ventRef + 398
38 com.apple.HIToolbox 0x00007fff8b141035 SendMenuCommandWithContextAndModifiers + 56
39 com.apple.HIToolbox 0x00007fff8b1887a9 SendMenuItemSelectedEvent + 253
40 com.apple.HIToolbox 0x00007fff8b052a6b _ZL19FinishMenuSelectionP13SelectionDataP10MenuResultS2_ + 101
41 com.apple.HIToolbox 0x00007fff8b04a1b1 _ZL14MenuSelectCoreP8MenuData5PointdjPP13OpaqueMenuRefPt + 600
42 com.apple.HIToolbox 0x00007fff8b04977a _HandleMenuSelection2 + 580
43 com.apple.AppKit 0x00007fff91ca388a _NSHandleCarbonMenuEvent + 250
44 com.apple.AppKit 0x00007fff91c39381 _DPSNextEvent + 2019
45 com.apple.AppKit 0x00007fff91c38735 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 135
46 com.apple.Aperture 0x00000001004c66ab 0x100000000 + 5007019
47 com.apple.AppKit 0x00007fff91c35071 -[NSApplication run] + 470
48 com.apple.prokit 0x00000001014b8c9f NSProApplicationMain + 387
49 com.apple.Aperture 0x000000010000fd84 0x100000000 + 64900
50 com.apple.Aperture 0x000000010000f684 0x100000000 + 63108
Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x00007fff8d1467e6 kevent + 10
1 libdispatch.dylib 0x00007fff9359778a _dispatch_mgr_invoke + 923
2 libdispatch.dylib 0x00007fff9359631a _dispatch_mgr_thread + 54
Thread 2:: Dispatch queue: com.apple.RedRock.HistoryQueue
0 libsystem_kernel.dylib 0x00007fff8d1461ba __write_nocancel + 10
1 libsystem_c.dylib 0x00007fff8c190de9 _swrite + 95
2 libsystem_c.dylib 0x00007fff8c19259e __sflush + 142
3 libsystem_c.dylib 0x00007fff8c1bdf0d __sfvwrite + 558
4 libsystem_c.dylib 0x00007fff8c1bdca5 fwrite + 118
5 com.apple.RedRock 0x0000000100aced9d -[RKInfoDictionaryMgr appendDictionary:toFile:] + 365
6 libdispatch.dylib 0x00007fff93595a86 _dispatch_call_block_and_release + 18
7 libdispatch.dylib 0x00007fff935972d6 _dispatch_queue_drain + 264
8 libdispatch.dylib 0x00007fff93597132 _dispatch_queue_invoke + 54
9 libdispatch.dylib 0x00007fff9359692c _dispatch_worker_thread2 + 198
10 libsystem_c.dylib 0x00007fff8c1963da _pthread_wqthread + 316
11 libsystem_c.dylib 0x00007fff8c197b85 start_wqthread + 13
Thread 3:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 4:: Dispatch queue: com.apple.Mercury.KDatabaseMgr_MT
0 libsystem_kernel.dylib 0x00007fff8d146ab6 pwrite + 10
1 com.apple.iLifeSQLAccess 0x0000000101d9def3 unixWrite + 83
2 com.apple.iLifeSQLAccess 0x0000000101d9e87a pager_write + 538
3 com.apple.iLifeSQLAccess 0x0000000101d9e64f sqlite3PagerWrite + 719
4 com.apple.iLifeSQLAccess 0x0000000101db3c57 insertCell + 215
5 com.apple.iLifeSQLAccess 0x0000000101db342f sqlite3BtreeInsert + 1983
6 com.apple.iLifeSQLAccess 0x0000000101d81599 sqlite3VdbeExec + 30201
7 com.apple.iLifeSQLAccess 0x0000000101d79c22 sqlite3_step + 2802
8 com.apple.iLifeSQLAccess 0x0000000101da17b3 -[HgKPreparedSql updateWithArgs:] + 243
9 com.apple.iLifeSQLAccess 0x0000000101de37fb __-[HgEntity executeUpdate:withArgs:]_block_invoke_1 + 43
10 libdispatch.dylib 0x00007fff93595a86 _dispatch_call_block_and_release + 18
11 libdispatch.dylib 0x00007fff935972d6 _dispatch_queue_drain + 264
12 libdispatch.dylib 0x00007fff93597132 _dispatch_queue_invoke + 54
13 libdispatch.dylib 0x00007fff9359692c _dispatch_worker_thread2 + 198
14 libsystem_c.dylib 0x00007fff8c1963da _pthread_wqthread + 316
15 libsystem_c.dylib 0x00007fff8c197b85 start_wqthread + 13
Thread 5:
0 libsystem_kernel.dylib 0x00007fff8d14467a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff8d143d71 mach_msg + 73
2 com.apple.CoreFoundation 0x00007fff930d950c __CFRunLoopServiceMachPort + 188
3 com.apple.CoreFoundation 0x00007fff930e1c74 __CFRunLoopRun + 1204
4 com.apple.CoreFoundation 0x00007fff930e1486 CFRunLoopRunSpecific + 230
5 com.apple.Foundation 0x00007fff95f3bf7b -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 267
6 com.apple.proxtcore 0x0000000101c7ea55 -[XTRunLoopThread run:] + 405
7 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
8 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
9 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
10 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 6:
0 libsystem_kernel.dylib 0x00007fff8d14467a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff8d143d71 mach_msg + 73
2 com.apple.CoreFoundation 0x00007fff930d950c __CFRunLoopServiceMachPort + 188
3 com.apple.CoreFoundation 0x00007fff930e1c74 __CFRunLoopRun + 1204
4 com.apple.CoreFoundation 0x00007fff930e1486 CFRunLoopRunSpecific + 230
5 com.apple.Foundation 0x00007fff95f3bf7b -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 267
6 com.apple.proxtcore 0x0000000101c7ea55 -[XTRunLoopThread run:] + 405
7 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
8 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
9 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
10 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 7:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 8:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 9:
0 libsystem_kernel.dylib 0x00007fff8d14467a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff8d143d71 mach_msg + 73
2 com.apple.CoreFoundation 0x00007fff930d950c __CFRunLoopServiceMachPort + 188
3 com.apple.CoreFoundation 0x00007fff930e1c74 __CFRunLoopRun + 1204
4 com.apple.CoreFoundation 0x00007fff930e1486 CFRunLoopRunSpecific + 230
5 com.apple.Foundation 0x00007fff95f3bf7b -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 267
6 com.apple.proxtcore 0x0000000101c7ea55 -[XTRunLoopThread run:] + 405
7 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
8 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
9 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
10 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 10:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 11:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 12:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 13:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 14:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 15:: Dispatch queue: com.apple.photo.placemanager
0 libsystem_kernel.dylib 0x00007fff8d1446b6 semaphore_wait_trap + 10
1 libdispatch.dylib 0x00007fff93598d8e _dispatch_thread_semaphore_wait + 18
2 libdispatch.dylib 0x00007fff93597f7e _dispatch_barrier_sync_f_slow + 137
3 libdispatch.dylib 0x00007fff935980e7 _dispatch_barrier_sync_f_recurse + 44
4 libdispatch.dylib 0x00007fff935980e7 _dispatch_barrier_sync_f_recurse + 44
5 com.apple.iLifeSQLAccess 0x0000000101dec9aa -[HgEntity insertIntoRidList:idsForColumn:fromQuery:] + 426
6 com.apple.iLifeSQLAccess 0x0000000101def4e4 -[HgEntity selectDistinctList:fromQuery:] + 276
7 com.apple.iLifeSQLAccess 0x0000000101df003e -[HgEntity modelIdListFromQuery:] + 78
8 com.apple.iLifeSQLAccess 0x0000000101dd1e2e -[HgEntity modelIdListWhere:args:] + 62
9 com.apple.iLifeSQLAccess 0x0000000101dd74a5 -[HgIterator requery] + 133
10 com.apple.iLifeSQLAccess 0x0000000101e36349 -[HgIterator initWithQuery:returning:] + 377
11 com.apple.iLifeSQLAccess 0x0000000101e34f44 -[HgIterator initWithQuery:] + 20
12 com.apple.iLifeSQLAccess 0x0000000101df0856 -[HgEntity iteratorFromQuery:] + 70
13 com.apple.iLifeSQLAccess 0x0000000101defc91 -[HgEntity setForColumn:fromQuery:] + 49
14 com.apple.iLifeSQLAccess 0x0000000101def784 -[HgEntity selectDistinct:fromQuery:] + 356
15 com.apple.iLifeSQLAccess 0x0000000101def60c -[HgEntity selectDistinct:where:args:] + 60
16 com.apple.iLifeSQLAccess 0x0000000101dfb058 +[HgModel selectDistinct:fromDatabase:where:args:] + 136
17 com.apple.iLifeSQLAccess 0x0000000101dd071f +[HgModel selectDistinct:fromDatabase:where:] + 175
18 com.apple.RedRock 0x0000000100a13421 +[RKPlaceForVersion placeIdsForVersionId:fromDatabase:] + 113
19 com.apple.RedRock 0x0000000100a133a3 -[RKVersion(Properties) placeIds] + 83
20 com.apple.RedRock 0x0000000100a132fb -[RKVersion(Properties) places] + 27
21 com.apple.RedRock 0x0000000100a12e8a -[RKPlaceManager geoTagVersion:withPlaces:] + 90
22 com.apple.RedRock 0x0000000100a078c9 -[RKPlaceManager geoTagVersion:] + 265
23 com.apple.RedRock 0x0000000100a077b9 -[RKPlaceManager geoTagOneVersion] + 297
24 com.apple.RedRock 0x0000000100beec4f -[RKPlaceManager doGeoTagSomeVersions] + 79
25 libdispatch.dylib 0x00007fff93595a86 _dispatch_call_block_and_release + 18
26 libdispatch.dylib 0x00007fff935972d6 _dispatch_queue_drain + 264
27 libdispatch.dylib 0x00007fff93597132 _dispatch_queue_invoke + 54
28 libdispatch.dylib 0x00007fff9359692c _dispatch_worker_thread2 + 198
29 libsystem_c.dylib 0x00007fff8c1963da _pthread_wqthread + 316
30 libsystem_c.dylib 0x00007fff8c197b85 start_wqthread + 13
Thread 16:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 17:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 18:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 19:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 20:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 21 Crashed:
0 libsystem_c.dylib 0x00007fff8c16e2cc memmove$VARIANT$sse3x + 1039
1 com.apple.ImageIO.framework 0x00007fff8dc2446f CGImageReadGetBytesAtOffset + 613
2 com.apple.ImageIO.framework 0x00007fff8dc241fb CGImageReadSessionGetBytes + 33
3 com.apple.ImageIO.framework 0x00007fff8dc240e1 fill_input_buffer + 197
4 libJPEG.dylib 0x00007fff8f930ee3 decode_mcu_optimized + 2848
5 libJPEG.dylib 0x00007fff8f93023a decompress_onepass + 201
6 libJPEG.dylib 0x00007fff8f930112 process_data_simple_main + 61
7 libJPEG.dylib 0x00007fff8f9300c9 _cg_jpeg_read_scanlines + 177
8 com.apple.ImageIO.framework 0x00007fff8dc2842f copyImageBlockSetJPEG + 3185
9 com.apple.ImageIO.framework 0x00007fff8dc276ff ImageProviderCopyImageBlockSetCallback + 417
10 com.apple.CoreGraphics 0x00007fff8fb00325 CGImageProviderCopyImageBlockSet + 50
11 com.apple.CoreGraphics 0x00007fff8fb2efe5 imageProvider_getBytes + 129
12 com.apple.geode 0x0000000101a626a1 DGReadBytesFromAccessSession + 206
13 com.apple.geode 0x0000000101a61d40 DGReadBytesRGBA8toARGB8 + 48
14 com.apple.geode 0x00000001019cb960 -[DGImageIOFactory readImageSource:intoConsumers:readFunctions:] + 114
15 com.apple.geode 0x00000001019cb355 -[DGImageIOFactory fulfillImageRequest:intoLockedPage:forTile:] + 2377
16 com.apple.geode 0x00000001019c99c4 -[DGImageIOFactory readRequest:intoPageRef:] + 732
17 com.apple.geode 0x00000001019c92cd -[DGImageIOFactory readHandler:] + 143
18 com.apple.CoreFoundation 0x00007fff9313c70d -[NSObject performSelector:withObject:] + 61
19 com.apple.proxtcore 0x0000000101c7eb98 -[XTSubscription postMessage:] + 104
20 com.apple.proxtcore 0x0000000101c7e3d9 -[XTDistributor distributeMessage:] + 505
21 com.apple.proxtcore 0x0000000101c7dde3 -[XTThread handleMessage:] + 339
22 com.apple.proxtcore 0x0000000101c7ca4c -[XTThread run:] + 380
23 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
24 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
25 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
26 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 22:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 23:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 24:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 25:
0 libsystem_kernel.dylib 0x00007fff8d145556 __close_nocancel + 10
1 libsystem_c.dylib 0x00007fff8c1926bb fclose + 133
2 com.apple.proxtcore 0x0000000101cbae09 -[XTFileIStream closeStream] + 57
3 com.apple.proxtcore 0x0000000101ca1adf -[XTCacheFileMemory loadData] + 383
4 com.apple.geode 0x00000001019ab38a -[DGImageJPEGCachePage updatePageAndRequestWithJPEGData:] + 69
5 com.apple.geode 0x0000000101a2ec02 -[DGTier2Factory readRequest:intoPageRef:] + 564
6 com.apple.geode 0x0000000101a2e925 -[DGTier2Factory cache:cacheStore:onFulfillRequest:intoPageRef:] + 600
7 com.apple.proxtcore 0x0000000101ca031a -[XTCacheFactory backgroundFulfillment:] + 266
8 com.apple.CoreFoundation 0x00007fff9313c70d -[NSObject performSelector:withObject:] + 61
9 com.apple.proxtcore 0x0000000101c7eb98 -[XTSubscription postMessage:] + 104
10 com.apple.proxtcore 0x0000000101c7e3d9 -[XTDistributor distributeMessage:] + 505
11 com.apple.proxtcore 0x0000000101c7dde3 -[XTThread handleMessage:] + 339
12 com.apple.proxtcore 0x0000000101c7ca4c -[XTThread run:] + 380
13 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
14 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
15 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
16 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 26:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 27:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 28:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 29:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 30:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 31:: JavaScriptCore::Marking
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c198274 _pthread_cond_wait + 840
2 com.apple.JavaScriptCore 0x00007fff90d467ed JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 493
3 com.apple.JavaScriptCore 0x00007fff90d46a40 JSC::MarkStackThreadSharedData::markingThreadMain() + 272
4 com.apple.JavaScriptCore 0x00007fff90d46ae9 JSC::MarkStackThreadSharedData::markingThreadStartFunc(void*) + 9
5 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
6 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 32:: JavaScriptCore::BlockFree
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c198274 _pthread_cond_wait + 840
2 com.apple.JavaScriptCore 0x00007fff90acfe37 ***::ThreadCondition::timedWait(***::Mutex&, double) + 151
3 com.apple.JavaScriptCore 0x00007fff90d4f12c JSC::Heap::blockFreeingThreadMain() + 300
4 com.apple.JavaScriptCore 0x00007fff90d4f169 JSC::Heap::blockFreeingThreadStartFunc(void*) + 9
5 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
6 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 33:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 34:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 35:
0 libsystem_kernel.dylib 0x00007fff8d145bca __psynch_cvwait + 10
1 libsystem_c.dylib 0x00007fff8c1982a6 _pthread_cond_wait + 890
2 com.apple.Foundation 0x00007fff95fb9a5c -[NSCondition waitUntilDate:] + 371
3 com.apple.Foundation 0x00007fff95f8322e -[NSConditionLock lockWhenCondition:beforeDate:] + 251
4 com.apple.proxtcore 0x0000000101c7d92a -[XTMsgQueue waitForMessage] + 42
5 com.apple.proxtcore 0x0000000101c7ca3a -[XTThread run:] + 362
6 com.apple.Foundation 0x00007fff95f8a72a -[NSThread main] + 68
7 com.apple.Foundation 0x00007fff95f8a6a2 __NSThread__main__ + 1575
8 libsystem_c.dylib 0x00007fff8c1948bf _pthread_start + 335
9 libsystem_c.dylib 0x00007fff8c197b75 thread_start + 13
Thread 36:: Dispatch queue: com.apple.CFURLCACHE_work_queue
0 libsystem_kernel.dylib 0x00007fff8d145ad2 __open + 10
1 libsqlite3.dylib 0x00007fff91612a6e unixOpen + 2382
2 libsqlite3.dylib 0x00007fff9167cc2f pager_write + 1983
3 libsqlite3.dylib 0x00007fff9167c455 sqlite3PagerWrite + 709
4 libsqlite3.dylib 0x00007fff9167fb3d sqlite3BtreeInsert + 2253
5 libsqlite3.dylib 0x00007fff91659560 sqlite3VdbeExec + 24240
6 libsqlite3.dylib 0x00007fff91652a5b sqlite3_step + 1883
7 com.apple.CFNetwork 0x00007fff8ae83fe1 __CFURLCache::StepSQLStatementToCompletion(sqlite3_stmt*, long) + 55
8 com.apple.CFNetwork 0x00007fff8ae85eae __CFURLCache::ExecuteSQLInsert(_CFCachedURLResponse const*, __CFString const*, _CFURLRequest const*) + 1716
9 com.apple.CFNetwork 0x00007fff8adec155 ProcessCacheTasks(__CFURLCache*, bool) + 542
10 com.apple.CFNetwork 0x00007fff8adeba0f _ZL24_CFURLCacheTimerCallbackPv + 563
11 libdispatch.dylib 0x00007fff9359a497 _dispatch_source_invoke + 649
12 libdispatch.dylib 0x00007fff93597143 _dispatch_queue_invoke + 71
13 libdispatch.dylib 0x00007fff935972a0 _dispatch_queue_drain + 210
14 libdispatch.dylib 0x00007fff93597132 _dispatch_queue_invoke + 54
15 libdispatch.dylib 0x00007fff9359692c _dispatch_worker_thread2 + 198
16 libsystem_c.dylib 0x00007fff8c1963da _pthread_wqthread + 316
17 libsystem_c.dylib 0x00007fff8c197b85 start_wqthread + 13
Thread 37:: com.apple.NSURLConnectionLoader
0 libsystem_kernel.dylib 0x00007fff8d14467a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff8d143d71 mach_msg + 73
2 com.apple.CoreFoundation 0x00007fff930d950c __CFRunLoopServiceMachPort + 188
3 com.app -
Does iCloud mail not have threaded view?
The Mail app on OS X now has a nice threaded view, but the online version of Mail doesn't? I find this really odd, and can't switch over to using it (from Gmail) if this is the case. Perhaps there's a hidden preference I can't find?
Depends on what "not display clearly" means.
-
Does HttpConnection.openInputStream() blocks ANY threads?
I have a MIDP programme that connects via http and get message responses from a server.
I want it show some animations when connecting.
so, I write 2 threads
1: the http connect thread
2: the observer thread, which watches the http connect thread if it is finished, and every 500L miliseconds do a repaint to draw some animation on canvas.
i simulated a server which takes a minute to respose, and found that all threads stops at hc.openInputStream() ,so there 'll be sure NO animations at all.
so ... could anybody help me about this ...? thanks a lot!public class HttpMessageReader
extends Thread {
String message;
int loadStatus = -1; //0=over -1=not started yet 1=loading 2=error
String url;
public HttpMessageReader(String url) {
this.url = url;
public void run() {
loadStatus = 1;
HttpConnection hc = null;
try {
hc = (HttpConnection) Connector.open(url);
System.out.println("hc");
// all threads stop here
DataInputStream ds = new DataInputStream(hc.openInputStream());
System.out.println("ds");
message = ds.readUTF();
System.out.println(message);
loadStatus = 0;
catch (IOException ex) {
ex.printStackTrace();
loadStatus = 2;
finally {
try {
if (hc != null) {
hc.close();
catch (IOException ignored) {}
}observer threads run():
public void run() {
System.out.println("observer");
while(true){
try {
synchronized(this){ // i doubt anything wrong here?
this.wait(500l);
catch (InterruptedException ex) {
ex.printStackTrace();
progress++;
//..then do repaint();
}then in the GUI startup ,a new observer.start() and a new HttpMessageReader.start() . -
Does JDialog setVisible create a new threaD?
I am having a problem with my program and it seems that it may be because my call to JDialog setVisible is creating a new thread. In my program I have a JDialog which is a creation wizard that puts some specific files in the specified directory. After this is done I try and zip up the contents and bundle the zip file with some other files. My problem is that if I don't place a dialog after my call JDialog setVisible() then not all the right files will be in the newly created zip. It seems to me this is likely happening because the call to setVisible is creating a new thread and operation is continuing before the wizard is done placing all the right files in the directory. Does this make sense? Does setVisible create its own thread?
In the future Swing related questions should be posted in the Swing forum.
No a new thread is not created. setVisible() displays the dialog. If the dialog is modal then statements after the setVisibile are not executed until the dialog is closed. If the dialog is not modal, then the statements execute right away. -
does it completely go away and another one is started up at the next start task?
A "task" is not the same thing as a thread, which is the OS-dependent executor that runs the task. Tasks are temporary, and end when the executing TOOL code terminates. For example, when the task that is created by "start task" terminates, then that task is gone, done, finished.
However, the thread that executes the task does not go away. Threads are re-used. In your example, of doing three consecutive "start task" commands, they may run on one, two or three threads, depending on how quickly each started task gets completed. If the tasks finish very quickly, then it is possible that all three will run on the same thread. If they are all running for a long time, then they will require three different threads. When you issue a "start task", the UDS runtime will check to see if a thread is available for use, and if not, it will create a new thread for the task.
If a started task is in a wait for something, then it may or may not keep a thread in use. It depends on what the task is waiting for. For example, some database interfaces require UDS to keep the same thread assigned to the task while the database API calls complete. -
Jms c api does NOT support multiple threads on solaris?
It appears that weblogic jms c api (solaris) does not work with multiple threads.
I wrote a simple test program with multiple threads in the following environment:
<p>
<pre>solaris 5.7 Generic_106541-22 sun4u sparc SUNW,Ultra-250,
weblogic 8.1.3
jdk 1.4.2_b04
</pre>
<b>ONLY the first thread is able to create jms queue senders and send text messages without any problem. The second thread always get the following exception:</b>
<pre>weblogic.jms.common.JMSException
at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSyncTran(DispatcherWrapperStat
e.java:440)
at weblogic.jms.client.JMSProducer.sendInternal(JMSProducer.java:382)
at weblogic.jms.client.JMSProducer.send(JMSProducer.java:207)
Caused by: java.lang.ExceptionInInitializerError
at weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:309)
at weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:258)
at weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:253)
at weblogic.rjvm.MsgAbbrevInputStream.resolveClass(MsgAbbrevInputStream.java:324)
at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream
.java:96)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:117)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:159)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
at weblogic.jms.dispatcher.DispatcherImpl_813_WLStub.dispatchSyncTranFuture(Unknown Sour
ce)
at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSyncTran(DispatcherWrapperStat
e.java:406)
... 2 more
Caused by: <b>java.lang.NullPointerException</b>
at weblogic.i18ntools.L10nLookup.loadProps(L10nLookup.java:88)
at weblogic.i18ntools.L10nLookup.<init>(L10nLookup.java:160)
at weblogic.i18ntools.L10nLookup.init(L10nLookup.java:132)
at weblogic.i18ntools.L10nLookup.getLocalizer(L10nLookup.java:315)
at weblogic.management.commo.internal.CommoCommandLineTextFormatter.<init>(CommoCommandL
ineTextFormatter.java:20)
at weblogic.management.commo.Commo.<clinit>(Commo.java:89)
... 13 more</pre>It was caused by the 2nd threads' classloader.
The 2nd thread uses the bootstrap classloader by default when attached to jvm, which loads the 'core' java classes only, not even extended classes.
<p>
This cause JNDI factory initialization failed.
<p>
The solution is to set the 2nd thread's context loader as the system class loader using JNI. See java.lang.Thread#setContextLoader and java.lang.ClassLoader#getSystemClassLoader. -
Image repaint preformance and threading
Folks,
I'm trying to make this sucker run faster.
My question is, can anyone please guide me, especially with regards synchronising the Threads more efficiently... I'm thinking of using join and i]notify to make the "navigator" threads yield to the swing threads, to give it a chance to repaint before continuing... does this sound sane to you?
Currently, without the thread.sleep it paints get the first "burst", and then nothing until the alrorithm has completed... exactly not what I wanted, because the whole point of this GUI is to watch the algorithm at work... sort of a "visual debugger"... I find that watching an algorithm play out helps me to "imagineer" ways of improving it... and in this case improvement means optimisation... it's all about getting from A-J faster than anyone else on the planet, especially those smarty-wishbone-legs C# programmers ;-)
The code is too big to post (darn that 7500 char limit!) so I'll split it over several posts here, and I've also posted it as a single download to [MazeOfBoltonGUI2.java|http://groups.google.com/group/comp_lang_java_exchange/web/MazeOfBoltonGUI2.java] on my google group (comp lang java exchange).
Cheers all. Keith.
package forums.maze;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.SortedMap;
import java.util.TreeMap;
import java.util.Stack;
import java.util.Queue;
import java.util.PriorityQueue;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.ExecutionException;
import java.awt.Dimension;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Font;
import java.awt.image.BufferedImage;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.SwingWorker;
import java.io.PrintWriter;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
* A Visual debugger,
* for the [A* Alogorithm|http://en.wikipedia.org/wiki/A*_search_algorithm] navigator
* of the [Maze Of Bolton|http://cplus.about.com/od/programmingchallenges/a/challenge12.htm]
* as implemented by [Prometheuz|http://forums.sun.com/profile.jspa?userID=550123]
* with GUI by [Kajbj|http://forums.sun.com/profile.jspa?userID=91610]
* hacked together by [Keith Corlett|http://forums.sun.com/profile.jspa?userID=640846]
* and posted on [Sun's Java Forum|http://forums.sun.com/thread.jspa?threadID=5319334]
* and posted on [Google news group|http://groups.google.com.au/group/comp_lang_java_exchange/]
public class MazeOfBoltonGUI2
static final char[][] matrix = readMatrix("map.txt");
public static void main(String[] args) {
SwingUtilities.invokeLater(
new Runnable() {
public void run() {
try {
MazeNavigator navigator = new MazeNavigator(matrix);
JFrame frame = new JFrame("MazeOfBoltonGUI2");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new MainPanel(navigator));
frame.pack();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
* Reads the file into a char matrix[rows,cols] ie: an array of char arrays.
* @param String filename - the name of the file to read
* @return a fixed length array of strings containing file contents.
private static char[][] readMatrix(String filename) {
try {
BufferedReader input = null;
try {
input = new BufferedReader(new FileReader(filename));
char[][] matrix = null;
List<String> lines = new ArrayList<String>();
String line = null;
while ( (line = input.readLine()) != null ) {
lines.add(line);
int rows = lines.size();
matrix = new char[rows][];
for (int i=0; i<rows; i++) {
matrix[i] = lines.get(i).toCharArray();
System.err.println("DEBUG: rows="+rows+", cols="+matrix[0].length);
return matrix;
} finally {
if(input!=null)input.close();
} catch (IOException e) {
e.printStackTrace();
throw new IllegalStateException("Failed to readMatrix!", e);
class MainPanel extends JPanel
private static final long serialVersionUID = 1L;
// button panel
private final JButton goButton;
// maze panel
private final MazeNavigator navigator;
private final Monitor<Path> monitor;
private BufferedImage background;
private BufferedImage image;
private List<Path>currentPaths;
public MainPanel(MazeNavigator navigator) {
this.navigator = navigator;
this.monitor = new SwingMonitor();
this.goButton = new JButton("Go");
goButton.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent event) {
final String caption = goButton.getText();
goButton.setVisible(false);
monitor.execute();
add(goButton);
setPreferredSize(new Dimension(navigator.maze.cols*3, navigator.maze.rows*3)); //w,h
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (image==null) {
image = (BufferedImage)createImage(navigator.maze.cols, navigator.maze.rows);
mazeColors = createMazeColors(navigator.maze);
this.draw(image.createGraphics());
((Graphics2D)g).drawImage(image, 0, 0, super.getWidth(), super.getHeight(), null);
private static Color[][] mazeColors;
private static Color[][] createMazeColors(Maze maze) {
Color[][] colors = new Color[maze.rows][maze.cols];
for (int r=0; r<maze.rows; r++) {
for (int c=0; c<maze.cols; c++) {
colors[r][c] = getColor(maze.matrix[r][c].ch);
return colors;
}*... PTO ...*I'm persuaded that the main issue (no intermediate results drawn) is the improper use of SwingWorker.
When you've got over it, you may want to consider other smaller-effect optimizations:
Reconsider usage of an offscreen image*
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (image==null) {
image = (BufferedImage)createImage(navigator.maze.cols, navigator.maze.rows);
mazeColors = createMazeColors(navigator.maze);
this.draw(image.createGraphics());
((Graphics2D)g).drawImage(image, 0, 0, super.getWidth(), super.getHeight(), null);
}At first I didn't get why you wanted to draw an offscreen image, then paint it to the screen, all that in the EDT.
After reading the draw() method more closely, I guess you want to ease the coding of the scaling: you draw an image where one cell = one pixel, then paint the image, scaled to the panel's display size.
In terms of performance, I don't know how it stands:
On one hand, the image creation if lighter (1 pixel per cell). And you have a point that the built-in scaling offered by Graphics2D.drawImage(image, size) may be efficient. I can't comment on that, I hope the granphics and hardware acceleration folks will pop in the thread.
On the other hand, if the built-in scaling had poor performance, it may be good to try what "manual" scaling would bring you. That means, in a simplified version, skip the offscreen image creation, and draw directly on the paintComponent()'s Graphics2D argument. the drawing of a cell at coordinates c,r, for example, would look like:
g.fillRect(c*CELL_WIDTH, r*CELL_HEIGHT, WIDTH, HEIGHT);Performance apart, the scaling as you do it currently has functional drawbacks, if you want pathes as 1-pixel width lines over large cells:
- if the maze is smaller (in rows, columns) than the panel displaying it (in pixels), the cells will be scaled but the pathes too: so your 1-pixel lines appear as large as the cells. May or may not be a desired effect.
- if the maze is larger than the display panel, the cells are shrinked, fine, but the so are the path lines, to a point where they may be invisible (probably depending on color blending, I'm a n00b at graphics operations).
But maybe I misunderstood the need, and maybe the intended drawing of a path is actually the drawing of the rectangles of all its traversed cells, in special path colors?
Reconsider intermediate allocations*
Each paintComponent() call results in the allocation of a 2D-array of Color objects (method createMazeColors(Maze)).
I don't see what the mazeColors array brings you. I assume you wanted to decouple the determination of colors (depending on cell state) and the rendering of the colors: what does it bring: no performance advantage (on the contrary, it adds a 2D array allocation, and 2xN^2 2D-array access), and does not improve the code readability either (subjective rant, sorry).
Why don't you pass the Maze as an argument to the draw() method, and call the getColor(cell.ch) from there?
Side note, maybe a bit subjective: performance apart, the design of the usage of this mazeColor array is a no-go!
An instance method alters a static variable reference,which is used subsequently in another instance method, with no synchronization. The current code does that in a single thread (+paintxxx()+ is only called in the EDT), which keeps that safe (I'd dare to say: by luck), but considerations exposed below may have you refactor the design to introduce other threads, and may exhibit the thread-unsafety of this design.
Consider drawing the image in a background thread.*
Indeed the technique of drawing to an offscreen image is quite common, but it is often done to improve responsiveness (not raw performance) of Swing applications. Here is a resource about this (what the author calls the passive approach), although it doesn't use a background thread.
The idea is that if a paintCompobnent() methods involves lots of computation (arithmetics of traversing a 2D model, scaling things, etc.), this takes CPU times in the EDT, and all subsequent events (such as, a MouseEvent, but also other painting events) keep pending on the event queue, which is consumed by the single event-dispatch thread. The result is that the UI appear unresponsive, and painting of other areas may seem hung.
The idea is to move the computation to a background thread, which posts rendering to the EDT when the Image is ready to be displayed.
Of course this doesn't gain any CPU time. This only ensures the EDT uses a minimal part of this CPU (only render and image and process events), instead of performing the whole computation.
In your case you already have a background thread, and indeed an appropriate choice, a SwingWorker. The application of this technique would consist in calling the draw() method in the worker thread (in the update(Path) method), and invoke super.publish() only after the image has been updated. Note that the process(List<Path>) could then ignore its argument (you may reconsider the choice of type parameter of the worker), and simply get the latest version of the image attribute).
Of course in this technique, the offscreen image filling is called synchronously from the Navigator, so this halts the algorithm part itself, for the duration of the image generation. You may refine the technique by spawning a dedicated thread for the image generation - with subtle guard code to handle occasions when the algorithm goes faster than the image generation, and posts a new update(Path) while the image generation for the previous path has not completed yet...
Recuce the number of things to redraw*
Two parts:
first, depending on the number of cells and pathes, there may be (yet another) optimization, to not redraw the whole offscreen image, but only the cells/path that have changed in the last update(). In particular, if a path is not a line but a list of cells, then it's quite easy, reusing the current offscreen image, to only fillRect(...) the appropriate cells.
Second, if a path is not rendered as a thin line over larger cells, but as cells themselves rendered in special path colors, you may paint cells and path in one go: instead of drawing, first the cells, then the path, draw only the cells, electing the color using a decision method such as:
private Color getColor(Cell) {
if (cell.getPathState()!=NOT_IN_ANY_PATH) {
return getColor(cell.getPathState());
else {
return getColor(cell.ch);
}Of course this forces you to modify your data model, and update the new pathState as part of the algorithm (or better isolated, in the update(Path) method, before invoking the drawing machinery). Maybe that was the intention of the mazeColors array?
I haven't studied your other posts on the logic of the MazeOfBolton algorithm, so I don't know if it's acceptable for you that a cell appear to have only one path state, as opposed to one for each of the pathes that traverse it. This last trick may then seem incorrect, but please consider it as only a graphical information, and indeed your current image drawing draws only ONE path for a given cell (the last path in currentPaths that traverses this cell ). -
QuickTime 7.6 does not work
QT 7.5.5 would not even launch - 7.6 will launch but then crash at any attempt to open a QuickTime file. Some threads with people trying to help those with this same problem, recommend getting OS 10.5 - but I have to many authorizations to want to go through that.
Older versions of QuickTime still do work.
Anyone possibly have a simple solution?
Does Apple even read these threads, or are they just therapeutic?
I sent many reports (on crashes) to Apple on 7.5.5 - and now 7.6 still has the same problems.Well -
I went to the Apple Store today at the Genius Bar and was told how to fix my Quicktime 7.6 problem. The head tech explained Quicktime is too deeply embedded in the OS to be able to repair and I would therefore need to back up my internal drive & do a clean install of my entire OS.
This kind of advice smells a lot like the bs type of advice I would get on how to fix my Windows machines from Microsoft.
When does Quicktime 7.7 come out?
Maybe you are looking for
-
Questions on Patch Deployment - From older post.
Almost a year ago I had a post with questions on the patch scan process. https://forums.novell.com/novell-pro...s-updates.html I have been reviewing my patch process again due to Student laptop's getting re-imaged this summer. I am hoping I can get s
-
Admin1.jsp In this jsp page i have a drop down list with<select name=Update From this page i move to the page Adnim2.jsp Admin2.jsp In this page i request for the value of selected entry in the drop down list as follows String a=request.getParameter(
-
Presence data from web service
Hello, i like to get presence data from the presenceconsumer web service. But everytime a call getUserPresence i get a PolicyException (POL0002): 'Privacy verification failed for address %1, request is refused'. I use a web service proxy generated fr
-
Dear sirs.: My company will cange from forms to Jdev (adf), my question is: using only adf bc with jboss (for example) , can i do balancing to another jboss machine of some (heavy) objects, without using toplink ? I'm affraid off developing a 2 tier
-
hi how to format a data field by thosand separator like 111111 after formating 1,11,111 i tried to format a data field in thousand separator like this select format(111111,"#,##0") from dual but error is coming