Page 1 of 1

How to get to the DatabaseExplorer?

Posted: Tue Jul 26, 2016 7:41 am
by ONEEYEMAN
Hi, (Eran),
How do I open the DatabaseExplorer plugin in CodeLite? Is there a hot key for it? A menu?

Please advise?

Thank you.

Re: How to get to the DatabaseExplorer?

Posted: Wed Jul 27, 2016 7:46 am
by eranif
No hot key.
In the Workspace view, there is a tab named "DbExplorer"
From there you can click on the "+" button to add databases (by default, we enable only the SQLite support, to reduce dependencies)
Screen Shot 2016-07-27 at 6.48.28 AM.png
If you don't have the the "DbExplorer" tab on your workspace view, click the 3 vertical dots button on the right side of the workspace view caption and select the "DbExplorer" - this will display the "DbExplorer" tab for you

Eran

Re: How to get to the DatabaseExplorer?

Posted: Thu Jul 28, 2016 2:07 am
by ONEEYEMAN
Hi, Eran,
I have a Segmentation Fault produced on Gentoo Linux.
I am running Gentoo Linux with gcc-5.2 with KDE-4 and CodeLite cloned couple of days ago.

In order to reproduce:

1. Run the CodeLite.
2. Go to DatabaseExplorer.
3. Open SQLite database.
4. Drill down to have the actual tables tree displayed.
5. Right click on any table and select "Create ERD from the Table".
6. The new Tab will be created. The Table object will be made. But then the CodeLite will crash.

I tried to get a stack trace by running the program under gdb, but unfortunately in this case everything was running properly.

The crash can be reproduced reliably. I had it this morning and right now repeated.

I can send out the database privately if needed. Just let me know.
Also, let me know if you need more info about my system.

Thank you.

P.S.: Actually I just acquired the backtrace. And it is below.
Could you or someone else look at this?

Code: Select all

> Program received signal SIGTRAP, Trace/breakpoint trap.
> 0x00007ffff0692fbb in raise () from /lib64/libpthread.so.0
> (gdb) bt
> #0  0x00007ffff0692fbb in raise () from /lib64/libpthread.so.0
> #1  0x00007ffff2decb05 in ?? () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #2  0x00007ffff2debbfa in wxOnAssert(char const*, int, char const*,
> char const*, wchar_t const*) () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #3  0x00007ffff38d815d in wxBitmap::GetWidth() const () from
> /home/igor/CL/debug/lib/codelite/libwx_gtk2u_core-3.0.so.0
> #4  0x00007ffff55b34be in wxAuiDefaultToolBarArt::DrawButton(wxDC&,
> wxWindow*, wxAuiToolBarItem const&, wxRect const&) () from
> /home/igor/CL/debug/lib/codelite/libwx_gtk2u_aui-3.0.so.0
> #5  0x00007ffff55aedf4 in wxAuiToolBar::OnPaint(wxPaintEvent&) () from
> /home/igor/CL/debug/lib/codelite/libwx_gtk2u_aui-3.0.so.0
> #6  0x00007ffff2de569e in
> wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&,
> wxEvent&) const () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #7  0x00007ffff2f6ae08 in
> wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&,
> wxEvtHandler*, wxEvent&) () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #8  0x00007ffff2f6af0b in wxEventHashTable::HandleEvent(wxEvent&,
> wxEvtHandler*) () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #9  0x00007ffff2f6b2c8 in wxEvtHandler::TryHereOnly(wxEvent&) () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #10 0x00007ffff2f6b353 in wxEvtHandler::ProcessEventLocally(wxEvent&)
> () from /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #11 0x00007ffff2f6b3b5 in wxEvtHandler::ProcessEvent(wxEvent&) () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #12 0x00007ffff2f6b117 in wxEvtHandler::SafelyProcessEvent(wxEvent&)
> () from /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #13 0x00007ffff39272b9 in wxWindow::GTKSendPaintEvents(_GdkRegion
> const*) () from
> /home/igor/CL/debug/lib/codelite/libwx_gtk2u_core-3.0.so.0
> #14 0x00007ffff3927a64 in ?? () from
> /home/igor/CL/debug/lib/codelite/libwx_gtk2u_core-3.0.so.0
> #15 0x00007ffff5919b5c in _gtk_marshal_BOOLEAN__BOXED () from
> /usr/lib64/libgtk-x11-2.0.so.0
> #16 0x00007ffff785df4f in g_closure_invoke () from
> /usr/lib64/libgobject-2.0.so.0
> #17 0x00007ffff7870011 in signal_emit_unlocked_R () from
> /usr/lib64/libgobject-2.0.so.0
> #18 0x00007ffff7878849 in g_signal_emit_valist () from
> /usr/lib64/libgobject-2.0.so.0
> #19 0x00007ffff78790df in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
> #20 0x00007ffff5a315dc in gtk_widget_event_internal () from
> /usr/lib64/libgtk-x11-2.0.so.0
> #21 0x00007ffff5918912 in gtk_main_do_event () from
> /usr/lib64/libgtk-x11-2.0.so.0
> #22 0x00007ffff5e703ff in _gdk_window_process_updates_recurse () from
> /usr/lib64/libgdk-x11-2.0.so.0
> #23 0x00007ffff5e703a5 in _gdk_window_process_updates_recurse () from
> /usr/lib64/libgdk-x11-2.0.so.0
> #24 0x00007ffff5e703a5 in _gdk_window_process_updates_recurse () from
> /usr/lib64/libgdk-x11-2.0.so.0
> #25 0x00007ffff5e703a5 in _gdk_window_process_updates_recurse () from
> /usr/lib64/libgdk-x11-2.0.so.0
> #26 0x00007ffff5e703a5 in _gdk_window_process_updates_recurse () from
> /usr/lib64/libgdk-x11-2.0.so.0
> #27 0x00007ffff5e703a5 in _gdk_window_process_updates_recurse () from
> /usr/lib64/libgdk-x11-2.0.so.0
> #28 0x00007ffff5e703a5 in _gdk_window_process_updates_recurse () from
> /usr/lib64/libgdk-x11-2.0.so.0
> #29 0x00007ffff5e703a5 in _gdk_window_process_updates_recurse () from
> /usr/lib64/libgdk-x11-2.0.so.0
> #30 0x00007ffff5e6ced1 in gdk_window_process_updates_internal () from
> /usr/lib64/libgdk-x11-2.0.so.0
> #31 0x00007ffff5e6d808 in gdk_window_process_all_updates () from
> /usr/lib64/libgdk-x11-2.0.so.0
> #32 0x00007ffff589dac1 in gtk_container_idle_sizer () from
> /usr/lib64/libgtk-x11-2.0.so.0
> #33 0x00007ffff5e4c5a7 in gdk_threads_dispatch () from
> /usr/lib64/libgdk-x11-2.0.so.0
> #34 0x00007ffff7aebbba in g_main_context_dispatch () from
> /usr/lib64/libglib-2.0.so.0
> #35 0x00007ffff7aebf60 in g_main_context_iterate.isra () from
> /usr/lib64/libglib-2.0.so.0
> #36 0x00007ffff7aec282 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
> #37 0x00007ffff58a0cd3 in gtk_dialog_run () from /usr/lib64/libgtk-x11-2.0.so.0
> #38 0x00007ffff391878b in wxGUIAppTraits::ShowAssertDialog(wxString
> const&) () from
> /home/igor/CL/debug/lib/codelite/libwx_gtk2u_core-3.0.so.0
> #39 0x00007ffff2de9632 in ?? () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #40 0x00007ffff2dec697 in wxAppConsoleBase::OnAssertFailure(wchar_t
> const*, int, wchar_t const*, wchar_t const*, wchar_t const*) () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #41 0x00007ffff38d6d00 in wxApp::OnAssertFailure(wchar_t const*, int,
> wchar_t const*, wchar_t const*, wchar_t const*) () from
> /home/igor/CL/debug/lib/codelite/libwx_gtk2u_core-3.0.so.0
> #42 0x00007ffff2dec9a2 in ?? () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #43 0x00007ffff2debbfa in wxOnAssert(char const*, int, char const*,
> char const*, wchar_t const*) () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #44 0x00007ffff38d815d in wxBitmap::GetWidth() const () from
> /home/igor/CL/debug/lib/codelite/libwx_gtk2u_core-3.0.so.0
> #45 0x00007ffff55b34be in wxAuiDefaultToolBarArt::DrawButton(wxDC&,
> wxWindow*, wxAuiToolBarItem const&, wxRect const&) () from
> /home/igor/CL/debug/lib/codelite/libwx_gtk2u_aui-3.0.so.0
> ---Type <return> to continue, or q <return> to quit---
> #46 0x00007ffff55aedf4 in wxAuiToolBar::OnPaint(wxPaintEvent&) () from
> /home/igor/CL/debug/lib/codelite/libwx_gtk2u_aui-3.0.so.0
> #47 0x00007ffff2de569e in
> wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&,
> wxEvent&) const () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #48 0x00007ffff2f6ae08 in
> wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&,
> wxEvtHandler*, wxEvent&) () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #49 0x00007ffff2f6af0b in wxEventHashTable::HandleEvent(wxEvent&,
> wxEvtHandler*) () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #50 0x00007ffff2f6b2c8 in wxEvtHandler::TryHereOnly(wxEvent&) () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #51 0x00007ffff2f6b353 in wxEvtHandler::ProcessEventLocally(wxEvent&)
> () from /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #52 0x00007ffff2f6b3b5 in wxEvtHandler::ProcessEvent(wxEvent&) () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #53 0x00007ffff2f6b117 in wxEvtHandler::SafelyProcessEvent(wxEvent&)
> () from /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #54 0x00007ffff39272b9 in wxWindow::GTKSendPaintEvents(_GdkRegion
> const*) () from
> /home/igor/CL/debug/lib/codelite/libwx_gtk2u_core-3.0.so.0
> #55 0x00007ffff3927a64 in ?? () from
> /home/igor/CL/debug/lib/codelite/libwx_gtk2u_core-3.0.so.0
> #56 0x00007ffff5919b5c in _gtk_marshal_BOOLEAN__BOXED () from
> /usr/lib64/libgtk-x11-2.0.so.0
> #57 0x00007ffff785dff5 in g_closure_invoke () from
> /usr/lib64/libgobject-2.0.so.0
> #58 0x00007ffff7870011 in signal_emit_unlocked_R () from
> /usr/lib64/libgobject-2.0.so.0
> #59 0x00007ffff7878849 in g_signal_emit_valist () from
> /usr/lib64/libgobject-2.0.so.0
> #60 0x00007ffff78790df in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
> #61 0x00007ffff5a315dc in gtk_widget_event_internal () from
> /usr/lib64/libgtk-x11-2.0.so.0
> #62 0x00007ffff5918912 in gtk_main_do_event () from
> /usr/lib64/libgtk-x11-2.0.so.0
> #63 0x00007ffff5e8949c in gdk_event_dispatch () from
> /usr/lib64/libgdk-x11-2.0.so.0
> #64 0x00007ffff7aebd07 in g_main_context_dispatch () from
> /usr/lib64/libglib-2.0.so.0
> #65 0x00007ffff7aebf60 in g_main_context_iterate.isra () from
> /usr/lib64/libglib-2.0.so.0
> #66 0x00007ffff7aec282 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
> #67 0x00007ffff5917727 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
> #68 0x00007ffff38f2db5 in wxGUIEventLoop::DoRun() () from
> /home/igor/CL/debug/lib/codelite/libwx_gtk2u_core-3.0.so.0
> #69 0x00007ffff2e26db3 in wxEventLoopBase::Run() () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #70 0x00007ffff2dec246 in wxAppConsoleBase::MainLoop() () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #71 0x00007ffff2e78900 in wxEntry(int&, wchar_t**) () from
> /home/igor/CL/debug/lib/codelite/libwx_baseu-3.0.so.0
> #72 0x00000000007e0b34 in main (argc=1, argv=0x7fffffffe448) at
> /home/igor/codelite/LiteEditor/app.cpp:256

Re: How to get to the DatabaseExplorer?

Posted: Thu Jul 28, 2016 11:29 pm
by DavidGH
Hi,

Thank you for reporting this. A bitmap was failing to load, which caused the assert (btw, I'm surprised you found it then crashed; are you running with --g-fatal-warnings ?). This is now fixed in git.

I did a fair amount of clicking around to try to find similar problems, and didn't. However I don't actually use Database Explorer, so please report any others that you spot.

Regards,

David