BeaTunes doesn't exit

Bjorn Harvold's Avatar

Bjorn Harvold

13 Jul, 2011 12:26 AM

iTunes v10.3.1
Mac OSX Lion
BeaTunes v3.0.2
2100 Songs

Every time I try to exit the program it hangs waiting for some process to finish. Here's the stack trace.

2011-07-12 20:19:27
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.1-b02-383 mixed mode):

"Attach Listener" daemon prio=9 tid=7f92eeb19800 nid=0x11301b000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE

"beaTunes shutdown thread" prio=6 tid=7f92ed3b8000 nid=0x115e34000 waiting on condition [115e32000] java.lang.Thread.State: WAITING (parking)

at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <7ded89af8> (a java.util.concurrent.FutureTask$Sync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:969)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at com.tagtraum.beatunes.library.itunes.ITunesAudioSong.getLyrics(SourceFile:186)
at com.tagtraum.beatunes.library.AudioSongFacade.getLyricsTermFrequencies(SourceFile:476)
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 com.tagtraum.beatunes.onlinedb.JSONSongSerializer.toJSON(SourceFile:121)
at com.tagtraum.beatunes.onlinedb.JSONSongSerializer.toJSONString(SourceFile:92)
at com.tagtraum.beatunes.onlinedb.LibraryRequestBody.read(SourceFile:83)
at java.io.InputStream.read(InputStream.java:85)
at com.tagtraum.core.WebService.a(SourceFile:547)
at com.tagtraum.core.WebService.openConnection(SourceFile:446)
at com.tagtraum.beatunes.onlinedb.OnlineDB.submitWithSongs(SourceFile:398)
at com.tagtraum.beatunes.onlinedb.OnlineDB.submitWithIds(SourceFile:368)
at com.tagtraum.beatunes.onlinedb.OnlineDB.b(SourceFile:343)
- locked <7dc198e48> (a com.tagtraum.beatunes.onlinedb.OnlineDB)
at com.tagtraum.beatunes.onlinedb.OnlineDB.shutdown(SourceFile:103)
at com.tagtraum.core.app.PluginManager.shutdown(SourceFile:827)
at com.tagtraum.beatunes.BeaTunes$5.run(SourceFile:573)
at java.lang.Thread.run(Thread.java:680)

"com.apple.audio.IOThread.client" daemon prio=5 tid=7f92ef9b5800 nid=0x119e3c000 runnable [00000000] java.lang.Thread.State: RUNNABLE

"Java Sound Event Dispatcher" daemon prio=6 tid=7f92ed63d000 nid=0x1161cf000 in Object.wait() [1161ce000] java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at com.sun.media.sound.EventDispatcher.dispatchEvents(EventDispatcher.java:170)
- locked <7dd1b11e0> (a com.sun.media.sound.EventDispatcher)
at com.sun.media.sound.EventDispatcher.run(EventDispatcher.java:210)
at java.lang.Thread.run(Thread.java:680)

"AbstractMusicLibrary" prio=6 tid=7f92e981e800 nid=0x1155bc000 waiting on condition [1155bb000] java.lang.Thread.State: WAITING (parking)

at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <7dc7b5310> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:680)

"AnalysisQueueWorker-0" daemon prio=1 tid=7f92e62a2000 nid=0x11a433000 in Object.wait() [11a432000] java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at com.tagtraum.beatunes.analysis.HibernateTaskQueue.poll(SourceFile:330)
- locked <7dc883590> (a java.lang.Object)
at com.tagtraum.beatunes.analysisqueue.AnalysisQueue.poll(SourceFile:1011)
at com.tagtraum.beatunes.analysisqueue.AnalysisTaskWorker.run(SourceFile:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)

"EmbedColorQueueThread" prio=6 tid=7f92e6496800 nid=0x119f80000 waiting on condition [119f7f000] java.lang.Thread.State: TIMED_WAITING (parking)

at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <7dd1e4ec8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:424)
at com.tagtraum.beatunes.library.HibernateMusicLibrary$EmbedColorQueue$1.run(SourceFile:1816)
at java.lang.Thread.run(Thread.java:680)

"H2 Log Writer BEATUNES-0AF3317913D9D7EF" daemon prio=6 tid=7f92e636e000 nid=0x116b69000 in Object.wait() [116b68000] java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at org.h2.store.WriterThread.run(WriterThread.java:103)
- locked <7dc8f9df8> (a org.h2.store.WriterThread)
at java.lang.Thread.run(Thread.java:680)

"H2 File Lock Watchdog /Users/crash/Library/Application Support/beaTunes/Database/beaTunes-0AF3317913D9D7EF.lock.db" daemon prio=9 tid=7f92e655a800 nid=0x116a66000 waiting on condition [116a65000] java.lang.Thread.State: TIMED_WAITING (sleeping)

at java.lang.Thread.sleep(Native Method)
at org.h2.store.FileLock.run(FileLock.java:494)
at java.lang.Thread.run(Thread.java:680)

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" daemon prio=6 tid=7f92e7935000 nid=0x116963000 in Object.wait() [116962000] java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
- locked <7dc716158> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" daemon prio=6 tid=7f92e7a97000 nid=0x115f46000 in Object.wait() [115f45000] java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
- locked <7dc716158> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0" daemon prio=6 tid=7f92e794c000 nid=0x115273000 in Object.wait() [115272000] java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
- locked <7dc716158> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

"Timer-1" daemon prio=6 tid=7f92e7960000 nid=0x112ec9000 in Object.wait() [112ec8000] java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at java.util.TimerThread.mainLoop(Timer.java:509)
- locked <7dca69588> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)

"TunesUtilities" prio=1 tid=7f92ed802000 nid=0x115819000 runnable [115818000] java.lang.Thread.State: RUNNABLE

at com.tagtraum.japlscript.execution.CocoaScriptExecutor.execute(Native Method)
at com.tagtraum.japlscript.execution.CocoaScriptExecutor.execute(CocoaScriptExecutor.java:35)
at com.tagtraum.japlscript.ObjectInvocationHandler.executeAppleScript(ObjectInvocationHandler.java:261)
at com.tagtraum.japlscript.ObjectInvocationHandler.executeAppleScript(ObjectInvocationHandler.java:253)
at com.tagtraum.japlscript.ObjectInvocationHandler.executeAppleScript(ObjectInvocationHandler.java:249)
at com.tagtraum.japlscript.ObjectInvocationHandler.invokeElement(ObjectInvocationHandler.java:152)
at com.tagtraum.japlscript.ObjectInvocationHandler.invoke(ObjectInvocationHandler.java:92)
at $Proxy12.getTracks(Unknown Source)
at com.tagtraum.obstunes.PlaylistImpl.getTrack(PlaylistImpl.java:104)
at com.tagtraum.obstunes.PlaylistImpl.getTrack(PlaylistImpl.java:83)
at com.tagtraum.beatunes.library.itunes.ITunesAudioSong$1.run(SourceFile:79)
at com.tagtraum.tunes.TunesUtilities$3.submit(TunesUtilities.java:120)
at com.tagtraum.beatunes.library.AudioSongFacade.invokeAndWaitInTunesUtilities(SourceFile:520)
at com.tagtraum.beatunes.library.itunes.ITunesAudioSong.a(SourceFile:77)
- locked <7dc7a3ad8> (a com.tagtraum.beatunes.library.itunes.ITunesAudioSong)
at com.tagtraum.beatunes.library.itunes.ITunesAudioSong.c(SourceFile:50)
at com.tagtraum.beatunes.library.itunes.ITunesAudioSong$5.call(SourceFile:186)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)

"Poller SunPKCS11-Darwin" daemon prio=1 tid=7f92e58f8800 nid=0x115d31000 waiting on condition [115d30000] java.lang.Thread.State: TIMED_WAITING (sleeping)

at java.lang.Thread.sleep(Native Method)
at sun.security.pkcs11.SunPKCS11$TokenPoller.run(SunPKCS11.java:692)
at java.lang.Thread.run(Thread.java:680)

"TimerQueue" daemon prio=5 tid=7f92e7a02000 nid=0x115b47000 in Object.wait() [115b46000] java.lang.Thread.State: TIMED_WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at javax.swing.TimerQueue.run(TimerQueue.java:232)
- locked <7dc5903f8> (a javax.swing.TimerQueue)
at java.lang.Thread.run(Thread.java:680)

"Java2D Disposer" daemon prio=10 tid=7f92e70b0000 nid=0x114f98000 in Object.wait() [114f97000] java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <7dc123900> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at sun.java2d.Disposer.run(Disposer.java:127)
at java.lang.Thread.run(Thread.java:680)

"DestroyJavaVM" prio=5 tid=7f92e6273800 nid=0x108e7c000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE

"AWT-EventQueue-0" prio=6 tid=7f92e628a800 nid=0x114b70000 in Object.wait() [114b6d000] java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.awt.EventQueue.getNextEvent(EventQueue.java:520)
- locked <7dc1a3700> (a java.awt.EventQueue)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:263)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:205)
at java.awt.Dialog$1.run(Dialog.java:1046)
at java.awt.Dialog$3.run(Dialog.java:1098)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1096)
at java.awt.Component.show(Component.java:1584)
at java.awt.Component.setVisible(Component.java:1536)
at java.awt.Window.setVisible(Window.java:842)
at java.awt.Dialog.setVisible(Dialog.java:986)
at com.tagtraum.beatunes.BeaTunes.shutdown(SourceFile:588)
at com.tagtraum.beatunes.OSXApplicationAdapter.handleQuit(SourceFile:72)
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 com.tagtraum.core.osx.OSXIntegration$ApplicationListenerInvocationHandler.invoke(SourceFile:146)
at $Proxy0.handleQuit(Unknown Source)
at com.apple.eawt._AppEventLegacyHandler$7.dispatchEvent(_AppEventLegacyHandler.java:146)
at com.apple.eawt._AppEventLegacyHandler.sendEventToEachListenerUntilHandled(_AppEventLegacyHandler.java:168)
- locked <7dc37afa8> (a java.util.Vector)
at com.apple.eawt._AppEventLegacyHandler.handleQuitRequestWith(_AppEventLegacyHandler.java:144)
at com.apple.eawt._AppEventHandler$_QuitDispatcher.performUsing(_AppEventHandler.java:372)
at com.apple.eawt._AppEventHandler$_QuitDispatcher.performUsing(_AppEventHandler.java:365)
at com.apple.eawt._AppEventHandler$_AppEventDispatcher$1.run(_AppEventHandler.java:474)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:677)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:638)
at java.awt.EventQueue$1.run(EventQueue.java:636)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:647)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

"Timer-0" daemon prio=5 tid=7f92e787a800 nid=0x114a6d000 in Object.wait() [114a6c000] java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.util.TimerThread.mainLoop(Timer.java:483)
- locked <7dc11a660> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)

"AWT-Shutdown" prio=5 tid=7f92e70be800 nid=0x112b1f000 in Object.wait() [112b1e000] java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:265)
- locked <7dc15aba0> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:680)

"AWT-AppKit" daemon prio=5 tid=7f92e70be000 nid=0x7fff73054960 runnable [00000000] java.lang.Thread.State: RUNNABLE

"Low Memory Detector" daemon prio=5 tid=7f92e6176800 nid=0x112135000 runnable [00000000] java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=9 tid=7f92e6176000 nid=0x112032000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=9 tid=7f92e6175000 nid=0x111f2f000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=9 tid=7f92e6174800 nid=0x111e2c000 runnable [00000000] java.lang.Thread.State: RUNNABLE

"Surrogate Locker Thread (Concurrent GC)" daemon prio=5 tid=7f92e6173800 nid=0x111d29000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=7f92e616e800 nid=0x111c26000 in Object.wait() [111c25000] java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <7dc11a690> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=7f92e616e000 nid=0x111b23000 in Object.wait() [111b22000] java.lang.Thread.State: WAITING (on object monitor)

at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <7dc123930> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=9 tid=7f92e6169800 nid=0x111a20000 runnable

"Gang worker#0 (Parallel GC Threads)" prio=9 tid=7f92e6000800 nid=0x10c91f000 runnable

"Gang worker#1 (Parallel GC Threads)" prio=9 tid=7f92e6003000 nid=0x10ca22000 runnable

"Gang worker#2 (Parallel GC Threads)" prio=9 tid=7f92e6003800 nid=0x10cb25000 runnable

"Gang worker#3 (Parallel GC Threads)" prio=9 tid=7f92e6004000 nid=0x10cc28000 runnable

"Gang worker#4 (Parallel GC Threads)" prio=9 tid=7f92e6005000 nid=0x10cd2b000 runnable

"Gang worker#5 (Parallel GC Threads)" prio=9 tid=7f92e6005800 nid=0x10ce2e000 runnable

"Gang worker#6 (Parallel GC Threads)" prio=9 tid=7f92e6006000 nid=0x10cf31000 runnable

"Gang worker#7 (Parallel GC Threads)" prio=9 tid=7f92e6006800 nid=0x10d034000 runnable

"Concurrent Mark-Sweep GC Thread" prio=9 tid=7f92e60e4000 nid=0x1116c6000 runnable "Gang worker#0 (Parallel CMS Threads)" prio=9 tid=7f92e60e3000 nid=0x110cc0000 runnable

"Gang worker#1 (Parallel CMS Threads)" prio=9 tid=7f92e60e3800 nid=0x110dc3000 runnable

"VM Periodic Task Thread" prio=10 tid=7f92e6188000 nid=0x112238000 waiting on condition

"Exception Catcher Thread" prio=10 tid=7f92e5801800 nid=0x109759000 runnable JNI global references: 48814

  1. Support Staff 1 Posted by hendrik on 14 Jul, 2011 10:29 AM

    hendrik's Avatar

    Hi,

    any chance, an iTunes dialog was open when you shut beaTunes down?

    -hendrik

  2. 2 Posted by Bjorn Harvold on 14 Jul, 2011 03:02 PM

    Bjorn Harvold's Avatar

    You are right. When itunes is not running, it shuts itself off correctly. Is that a limitation or a necessary evil?

  3. Support Staff 3 Posted by hendrik on 14 Jul, 2011 09:59 PM

    hendrik's Avatar

    Hm... it shouldn't matter whether iTunes is running or not - in fact - beaTunes needs iTunes to run. It should just not have dialogs open.

    And yes, I would call that a limitation.

  4. hendrik closed this discussion on 15 Feb, 2017 07:25 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac