Bug 323281 - Regardless of crash, KMail seemed to be continously duplicating messages
Summary: Regardless of crash, KMail seemed to be continously duplicating messages
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kmail2
Classification: Applications
Component: general (show other bugs)
Version: 4.10.5
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2013-08-08 08:19 UTC by sean_mccully
Modified: 2017-01-07 21:38 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description sean_mccully 2013-08-08 08:19:05 UTC
Application: kmail (4.10.5)
KDE Platform Version: 4.10.5
Qt Version: 4.8.5
Operating System: Linux 3.10.4-300.fc19.x86_64 x86_64
Distribution: "Fedora release 19 (Schrödinger’s Cat)"

-- Information about the crash:
- What I was doing when the application crashed:
 Trying to import POP account into KMail, looks like messages were being duplicated.

-- Backtrace:
Application: KMail (kmail), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f39591538c0 (LWP 11781))]

Thread 5 (Thread 0x7f3947fff700 (LWP 11806)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x0000003137ecd34d in WTF::TCMalloc_PageHeap::scavengerThread (this=<optimized out>) at /usr/src/debug/webkit-qtwebkit-23/Source/WTF/wtf/FastMalloc.cpp:2571
#2  0x0000003137ecd389 in WTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at /usr/src/debug/webkit-qtwebkit-23/Source/WTF/wtf/FastMalloc.cpp:1767
#3  0x0000003cf9e07c53 in start_thread (arg=0x7f3947fff700) at pthread_create.c:308
#4  0x0000003cf9af513d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f3906c64700 (LWP 11807)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x0000003137c0dadd in JSC::BlockAllocator::blockFreeingThreadMain (this=0x7f3947768398) at /usr/src/debug/webkit-qtwebkit-23/Source/JavaScriptCore/heap/BlockAllocator.cpp:128
#2  0x0000003137efcba6 in WTF::wtfThreadEntryPoint (param=0xa89c40) at /usr/src/debug/webkit-qtwebkit-23/Source/WTF/wtf/ThreadingPthreads.cpp:196
#3  0x0000003cf9e07c53 in start_thread (arg=0x7f3906c64700) at pthread_create.c:308
#4  0x0000003cf9af513d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f3905862700 (LWP 11809)):
#0  0x0000003cf9aeab6d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003cfbe480f4 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f38fc0029c0, timeout=6727, context=0x7f38fc0009a0) at gmain.c:3995
#2  g_main_context_iterate (context=context@entry=0x7f38fc0009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3696
#3  0x0000003cfbe481fc in g_main_context_iteration (context=0x7f38fc0009a0, may_block=1) at gmain.c:3762
#4  0x000000312ada7166 in QEventDispatcherGlib::processEvents (this=0x7f38fc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#5  0x000000312ad78ecf in QEventLoop::processEvents (this=this@entry=0x7f3905861d20, flags=...) at kernel/qeventloop.cpp:149
#6  0x000000312ad791c5 in QEventLoop::exec (this=this@entry=0x7f3905861d20, flags=...) at kernel/qeventloop.cpp:204
#7  0x000000312ac7866f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:536
#8  0x000000312ac7ad0f in QThreadPrivate::start (arg=0xd34cc0) at thread/qthread_unix.cpp:338
#9  0x0000003cf9e07c53 in start_thread (arg=0x7f3905862700) at pthread_create.c:308
#10 0x0000003cf9af513d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f3906063700 (LWP 12257)):
#0  g_mutex_get_impl (mutex=0x7f38f8007d00) at gthread-posix.c:123
#1  0x0000003cfbe87279 in g_mutex_unlock (mutex=mutex@entry=0x7f38f8007d00) at gthread-posix.c:229
#2  0x0000003cfbe47b38 in g_main_context_check (context=context@entry=0x7f38f8007d00, max_priority=2147483647, fds=fds@entry=0x7f38f80048d0, n_fds=n_fds@entry=1) at gmain.c:3612
#3  0x0000003cfbe4808b in g_main_context_iterate (context=context@entry=0x7f38f8007d00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3698
#4  0x0000003cfbe481fc in g_main_context_iteration (context=0x7f38f8007d00, may_block=1) at gmain.c:3762
#5  0x000000312ada7166 in QEventDispatcherGlib::processEvents (this=0x7f38f80080c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#6  0x000000312ad78ecf in QEventLoop::processEvents (this=this@entry=0x7f3906062ce0, flags=...) at kernel/qeventloop.cpp:149
#7  0x000000312ad791c5 in QEventLoop::exec (this=this@entry=0x7f3906062ce0, flags=...) at kernel/qeventloop.cpp:204
#8  0x000000312ac7866f in QThread::exec (this=this@entry=0x8a7eb0) at thread/qthread.cpp:536
#9  0x000000312ad5a733 in QInotifyFileSystemWatcherEngine::run (this=0x8a7eb0) at io/qfilesystemwatcher_inotify.cpp:256
#10 0x000000312ac7ad0f in QThreadPrivate::start (arg=0x8a7eb0) at thread/qthread_unix.cpp:338
#11 0x0000003cf9e07c53 in start_thread (arg=0x7f3906063700) at pthread_create.c:308
#12 0x0000003cf9af513d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f39591538c0 (LWP 11781)):
[KCrash Handler]
#6  0x0000000001a90c40 in ?? ()
#7  0x000000312e151518 in KWallet::Wallet::openWallet (name=..., w=w@entry=79697231, ot=ot@entry=KWallet::Wallet::Synchronous) at /usr/src/debug/kdelibs-4.10.5/kdeui/util/kwallet.cpp:496
#8  0x000000313b22813b in MailTransport::TransportManager::wallet (this=0x9b99b0) at /usr/src/debug/kdepimlibs-4.10.5/mailtransport/transportmanager.cpp:583
#9  0x000000313b2245cd in MailTransport::Transport::readPassword (this=0x1a1bba0) at /usr/src/debug/kdepimlibs-4.10.5/mailtransport/transport.cpp:305
#10 0x000000312ad9232e in QObject::event (this=0x1a1bba0, e=<optimized out>) at kernel/qobject.cpp:1194
#11 0x000000312c5c84dc in QApplicationPrivate::notify_helper (this=this@entry=0x8fe3f0, receiver=receiver@entry=0x1a1bba0, e=e@entry=0x77c9a90) at kernel/qapplication.cpp:4562
#12 0x000000312c5ceaa0 in QApplication::notify (this=this@entry=0x7fff930acd00, receiver=receiver@entry=0x1a1bba0, e=e@entry=0x77c9a90) at kernel/qapplication.cpp:4348
#13 0x000000312e0415ba in KApplication::notify (this=0x7fff930acd00, receiver=0x1a1bba0, event=0x77c9a90) at /usr/src/debug/kdelibs-4.10.5/kdeui/kernel/kapplication.cpp:311
#14 0x000000312ad7a26d in QCoreApplication::notifyInternal (this=0x7fff930acd00, receiver=receiver@entry=0x1a1bba0, event=event@entry=0x77c9a90) at kernel/qcoreapplication.cpp:949
#15 0x000000312ad7d1df in sendEvent (event=0x77c9a90, receiver=0x1a1bba0) at kernel/qcoreapplication.h:231
#16 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x88e2d0) at kernel/qcoreapplication.cpp:1573
#17 0x000000312ad7d683 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1466
#18 0x000000312ada7883 in sendPostedEvents () at kernel/qcoreapplication.h:236
#19 postEventSourceDispatch (s=s@entry=0x8efb10) at kernel/qeventdispatcher_glib.cpp:280
#20 0x0000003cfbe47e06 in g_main_dispatch (context=0x8fc560) at gmain.c:3054
#21 g_main_context_dispatch (context=context@entry=0x8fc560) at gmain.c:3630
#22 0x0000003cfbe48158 in g_main_context_iterate (context=context@entry=0x8fc560, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3701
#23 0x0000003cfbe481fc in g_main_context_iteration (context=0x8fc560, may_block=1) at gmain.c:3762
#24 0x000000312ada7145 in QEventDispatcherGlib::processEvents (this=0x88faf0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#25 0x000000312c664fc6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#26 0x000000312ad78ecf in QEventLoop::processEvents (this=this@entry=0x7fff930aab90, flags=...) at kernel/qeventloop.cpp:149
#27 0x000000312ad791c5 in QEventLoop::exec (this=this@entry=0x7fff930aab90, flags=...) at kernel/qeventloop.cpp:204
#28 0x000000312e15199a in KWallet::Wallet::openWallet (name=..., w=w@entry=79697231, ot=ot@entry=KWallet::Wallet::Synchronous) at /usr/src/debug/kdelibs-4.10.5/kdeui/util/kwallet.cpp:516
#29 0x000000313b22813b in MailTransport::TransportManager::wallet (this=0x9b99b0) at /usr/src/debug/kdepimlibs-4.10.5/mailtransport/transportmanager.cpp:583
#30 0x000000313b2245cd in MailTransport::Transport::readPassword (this=0x4185870) at /usr/src/debug/kdepimlibs-4.10.5/mailtransport/transport.cpp:305
#31 0x000000312ad9232e in QObject::event (this=0x4185870, e=<optimized out>) at kernel/qobject.cpp:1194
#32 0x000000312c5c84dc in QApplicationPrivate::notify_helper (this=this@entry=0x8fe3f0, receiver=receiver@entry=0x4185870, e=e@entry=0x647a860) at kernel/qapplication.cpp:4562
#33 0x000000312c5ceaa0 in QApplication::notify (this=this@entry=0x7fff930acd00, receiver=receiver@entry=0x4185870, e=e@entry=0x647a860) at kernel/qapplication.cpp:4348
#34 0x000000312e0415ba in KApplication::notify (this=0x7fff930acd00, receiver=0x4185870, event=0x647a860) at /usr/src/debug/kdelibs-4.10.5/kdeui/kernel/kapplication.cpp:311
#35 0x000000312ad7a26d in QCoreApplication::notifyInternal (this=0x7fff930acd00, receiver=receiver@entry=0x4185870, event=event@entry=0x647a860) at kernel/qcoreapplication.cpp:949
#36 0x000000312ad7d1df in sendEvent (event=0x647a860, receiver=0x4185870) at kernel/qcoreapplication.h:231
#37 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x88e2d0) at kernel/qcoreapplication.cpp:1573
#38 0x000000312ad7d683 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1466
#39 0x000000312ada7883 in sendPostedEvents () at kernel/qcoreapplication.h:236
#40 postEventSourceDispatch (s=s@entry=0x8efb10) at kernel/qeventdispatcher_glib.cpp:280
#41 0x0000003cfbe47e06 in g_main_dispatch (context=0x8fc560) at gmain.c:3054
#42 g_main_context_dispatch (context=context@entry=0x8fc560) at gmain.c:3630
#43 0x0000003cfbe48158 in g_main_context_iterate (context=context@entry=0x8fc560, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3701
#44 0x0000003cfbe481fc in g_main_context_iteration (context=0x8fc560, may_block=1) at gmain.c:3762
#45 0x000000312ada7145 in QEventDispatcherGlib::processEvents (this=0x88faf0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#46 0x000000312c664fc6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#47 0x000000312ad78ecf in QEventLoop::processEvents (this=this@entry=0x7fff930ab3f0, flags=...) at kernel/qeventloop.cpp:149
#48 0x000000312ad791c5 in QEventLoop::exec (this=this@entry=0x7fff930ab3f0, flags=...) at kernel/qeventloop.cpp:204
#49 0x000000312e15199a in KWallet::Wallet::openWallet (name=..., w=w@entry=79697231, ot=ot@entry=KWallet::Wallet::Synchronous) at /usr/src/debug/kdelibs-4.10.5/kdeui/util/kwallet.cpp:516
#50 0x000000313b22813b in MailTransport::TransportManager::wallet (this=0x9b99b0) at /usr/src/debug/kdepimlibs-4.10.5/mailtransport/transportmanager.cpp:583
#51 0x000000313b2245cd in MailTransport::Transport::readPassword (this=0x1a1bba0) at /usr/src/debug/kdepimlibs-4.10.5/mailtransport/transport.cpp:305
#52 0x000000312ad9232e in QObject::event (this=0x1a1bba0, e=<optimized out>) at kernel/qobject.cpp:1194
#53 0x000000312c5c84dc in QApplicationPrivate::notify_helper (this=this@entry=0x8fe3f0, receiver=receiver@entry=0x1a1bba0, e=e@entry=0x60fd210) at kernel/qapplication.cpp:4562
#54 0x000000312c5ceaa0 in QApplication::notify (this=this@entry=0x7fff930acd00, receiver=receiver@entry=0x1a1bba0, e=e@entry=0x60fd210) at kernel/qapplication.cpp:4348
#55 0x000000312e0415ba in KApplication::notify (this=0x7fff930acd00, receiver=0x1a1bba0, event=0x60fd210) at /usr/src/debug/kdelibs-4.10.5/kdeui/kernel/kapplication.cpp:311
#56 0x000000312ad7a26d in QCoreApplication::notifyInternal (this=0x7fff930acd00, receiver=receiver@entry=0x1a1bba0, event=event@entry=0x60fd210) at kernel/qcoreapplication.cpp:949
#57 0x000000312ad7d1df in sendEvent (event=0x60fd210, receiver=0x1a1bba0) at kernel/qcoreapplication.h:231
#58 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x88e2d0) at kernel/qcoreapplication.cpp:1573
#59 0x000000312ad7d683 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1466
#60 0x000000312ada7883 in sendPostedEvents () at kernel/qcoreapplication.h:236
#61 postEventSourceDispatch (s=s@entry=0x8efb10) at kernel/qeventdispatcher_glib.cpp:280
#62 0x0000003cfbe47e06 in g_main_dispatch (context=0x8fc560) at gmain.c:3054
#63 g_main_context_dispatch (context=context@entry=0x8fc560) at gmain.c:3630
#64 0x0000003cfbe48158 in g_main_context_iterate (context=context@entry=0x8fc560, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3701
#65 0x0000003cfbe481fc in g_main_context_iteration (context=0x8fc560, may_block=1) at gmain.c:3762
#66 0x000000312ada7145 in QEventDispatcherGlib::processEvents (this=0x88faf0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#67 0x000000312c664fc6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#68 0x000000312ad78ecf in QEventLoop::processEvents (this=this@entry=0x7fff930abc50, flags=...) at kernel/qeventloop.cpp:149
#69 0x000000312ad791c5 in QEventLoop::exec (this=this@entry=0x7fff930abc50, flags=...) at kernel/qeventloop.cpp:204
#70 0x000000312e15199a in KWallet::Wallet::openWallet (name=..., w=w@entry=79697231, ot=ot@entry=KWallet::Wallet::Synchronous) at /usr/src/debug/kdelibs-4.10.5/kdeui/util/kwallet.cpp:516
#71 0x000000313b22813b in MailTransport::TransportManager::wallet (this=0x9b99b0) at /usr/src/debug/kdepimlibs-4.10.5/mailtransport/transportmanager.cpp:583
#72 0x000000313b2245cd in MailTransport::Transport::readPassword (this=0x4185870) at /usr/src/debug/kdepimlibs-4.10.5/mailtransport/transport.cpp:305
#73 0x000000313b22949f in MailTransport::TransportManager::loadPasswords (this=this@entry=0x9b99b0) at /usr/src/debug/kdepimlibs-4.10.5/mailtransport/transportmanager.cpp:608
#74 0x000000313b229714 in MailTransport::TransportManager::loadPasswordsAsync (this=0x9b99b0) at /usr/src/debug/kdepimlibs-4.10.5/mailtransport/transportmanager.cpp:658
#75 0x000000313b22c7b3 in MailTransport::TransportManagerPrivate::readConfig (this=this@entry=0xba6dc0) at /usr/src/debug/kdepimlibs-4.10.5/mailtransport/transportmanager.cpp:467
#76 0x000000313b22cddc in MailTransport::TransportManagerPrivate::slotTransportsChanged (this=0xba6dc0) at /usr/src/debug/kdepimlibs-4.10.5/mailtransport/transportmanager.cpp:546
#77 0x000000313b22cec1 in MailTransport::TransportManager::qt_static_metacall (_o=0x19c6f70, _o@entry=0x9b99b0, _c=QMetaObject::QueryPropertyDesignable, _c@entry=QMetaObject::InvokeMetaMethod, _id=8970768, _id@entry=12, _a=0x1, _a@entry=0x7fff930ac2d0) at /usr/src/debug/kdepimlibs-4.10.5/x86_64-redhat-linux-gnu/mailtransport/moc_transportmanager.cpp:103
#78 0x000000313b22d253 in MailTransport::TransportManager::qt_metacall (this=0x9b99b0, _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0x7fff930ac2d0) at /usr/src/debug/kdepimlibs-4.10.5/x86_64-redhat-linux-gnu/mailtransport/moc_transportmanager.cpp:147
#79 0x000000312b224126 in QDBusConnectionPrivate::deliverCall (this=0x8e7510, object=0x9b99b0, msg=..., metaTypes=..., slotIdx=16) at qdbusintegrator.cpp:951
#80 0x000000312ad9232e in QObject::event (this=0x9b99b0, e=<optimized out>) at kernel/qobject.cpp:1194
#81 0x000000312c5c84dc in QApplicationPrivate::notify_helper (this=this@entry=0x8fe3f0, receiver=receiver@entry=0x9b99b0, e=e@entry=0x7f6c980) at kernel/qapplication.cpp:4562
#82 0x000000312c5ceaa0 in QApplication::notify (this=this@entry=0x7fff930acd00, receiver=receiver@entry=0x9b99b0, e=e@entry=0x7f6c980) at kernel/qapplication.cpp:4348
#83 0x000000312e0415ba in KApplication::notify (this=0x7fff930acd00, receiver=0x9b99b0, event=0x7f6c980) at /usr/src/debug/kdelibs-4.10.5/kdeui/kernel/kapplication.cpp:311
#84 0x000000312ad7a26d in QCoreApplication::notifyInternal (this=0x7fff930acd00, receiver=receiver@entry=0x9b99b0, event=event@entry=0x7f6c980) at kernel/qcoreapplication.cpp:949
#85 0x000000312ad7d1df in sendEvent (event=0x7f6c980, receiver=0x9b99b0) at kernel/qcoreapplication.h:231
#86 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x88e2d0) at kernel/qcoreapplication.cpp:1573
#87 0x000000312ad7d683 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1466
#88 0x000000312ada7883 in sendPostedEvents () at kernel/qcoreapplication.h:236
#89 postEventSourceDispatch (s=s@entry=0x8efb10) at kernel/qeventdispatcher_glib.cpp:280
#90 0x0000003cfbe47e06 in g_main_dispatch (context=0x8fc560) at gmain.c:3054
#91 g_main_context_dispatch (context=context@entry=0x8fc560) at gmain.c:3630
#92 0x0000003cfbe48158 in g_main_context_iterate (context=context@entry=0x8fc560, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3701
#93 0x0000003cfbe481fc in g_main_context_iteration (context=0x8fc560, may_block=1) at gmain.c:3762
#94 0x000000312ada7145 in QEventDispatcherGlib::processEvents (this=0x88faf0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#95 0x000000312c664fc6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#96 0x000000312ad78ecf in QEventLoop::processEvents (this=this@entry=0x7fff930ac980, flags=...) at kernel/qeventloop.cpp:149
#97 0x000000312ad791c5 in QEventLoop::exec (this=this@entry=0x7fff930ac980, flags=...) at kernel/qeventloop.cpp:204
#98 0x000000312ad7e45b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#99 0x000000312c5c6c9c in QApplication::exec () at kernel/qapplication.cpp:3823
#100 0x0000000000402e19 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdepim-4.10.5/kmail/main.cpp:146

Possible duplicates by query: bug 323063, bug 309337, bug 305900.

Reported using DrKonqi
Comment 1 Denis Kurz 2016-09-24 18:11:08 UTC
This bug has only been reported for versions before 4.14, which have been unsupported for at least two years now. Can anyone tell if this bug still present?

If noone confirms this bug for a Framework-based version of kmail2 (version 5.0 or later, as part of KDE Applications 15.12 or later), it gets closed in about three months.
Comment 2 Denis Kurz 2017-01-07 21:38:53 UTC
Just as announced in my last comment, I close this bug. If you encounter it again in a recent version (at least 5.0 aka 15.08), please open a new one unless it already exists. Thank you for all your input.