I've managed to trace it a bit further. The earlier loadComponentFromURL()
goes through main/framework and goes back into
main/dbaccess/source/ui/browser/dbloader.cxx, where DBContentLoader::load()
attempts to create a UNO component. This then goes into main/stoc but I
haven't been able to step into it further than
stoc_smgr::OServiceManager::createInstanceWithContext, which I think goes
into code compiled without debug information. Maybe I'll think of something
later.

I don't have any further suggestions for you on Mac at this point.

#0  stoc_smgr::OServiceManager::createInstanceWithContext
(this=0x7ffff7e84018, rServiceSpecifier=..., xContext=...) at
/AOO/main/stoc/source/servicemanager/servicemanager.cxx:1246
#1  0x00007fffcc53cde8 in
comphelper::ComponentContext::createComponent<com::sun::star::frame::XController2>
(this=this@entry=0x7fffffff9f20, _rServiceName=..., _out_rxComponent=...)
    at /AOO/main/solver/420/unxlngx6/inc/comphelper/componentcontext.hxx:92
#2  0x00007fffcc53ce89 in
comphelper::ComponentContext::createComponent<com::sun::star::frame::XController2>
(this=this@entry=0x7fffffff9f20, _pAsciiServiceName=<optimized out>,
_out_rxComponent=...)
    at /AOO/main/solver/420/unxlngx6/inc/comphelper/componentcontext.hxx:106
#3  0x00007fffcc53b146 in DBContentLoader::load (this=0x7fffb40bb408,
rFrame=..., rURL=..., rArgs=..., rListener=...) at
/AOO/main/dbaccess/source/ui/browser/dbloader.cxx:219
#4  0x00007fffda96c4e1 in framework::LoadEnv::impl_loadContent
(this=this@entry=0x7fffffffa248) at
/AOO/main/framework/source/loadenv/loadenv.cxx:1198
#5  0x00007fffda96c8e5 in framework::LoadEnv::startLoading
(this=this@entry=0x7fffffffa248)
at /AOO/main/framework/source/loadenv/loadenv.cxx:433
#6  0x00007fffda96ca04 in framework::LoadEnv::loadComponentFromURL
(xLoader=..., xSMGR=..., sURL=..., sTarget=..., nFlags=nFlags@entry=0,
lArgs=...) at /AOO/main/framework/source/loadenv/loadenv.cxx:205
#7  0x00007fffda991bc4 in framework::Frame::loadComponentFromURL
(this=<optimized out>, sURL=..., sTargetFrameName=..., nSearchFlags=0,
lArguments=...) at /AOO/main/framework/source/services/frame.cxx:366
#8  0x00007fffcc634fba in dbaui::DatabaseObjectView::doDispatch
(this=this@entry=0x7fffade0b6a0, i_rDispatchArgs=...) at
/AOO/main/dbaccess/source/ui/misc/databaseobjectview.cxx:155
#9  0x00007fffcc63543c in dbaui::DatabaseObjectView::doCreateView
(this=this@entry=0x7fffade0b6a0, _rDataSource=..., _rObjectName=...,
i_rCreationArgs=...) at
/AOO/main/dbaccess/source/ui/misc/databaseobjectview.cxx:115
#10 0x00007fffcc635513 in dbaui::TableDesigner::doCreateView
(this=this@entry=0x7fffade0b6a0, _rDataSource=..., _rObjectName=...,
i_rCreationArgs=...) at
/AOO/main/dbaccess/source/ui/misc/databaseobjectview.cxx:258
#11 0x00007fffcc634785 in dbaui::DatabaseObjectView::createNew
(this=0x7fffade0b6a0, _xDataSource=..., i_rDispatchArgs=...) at
/AOO/main/dbaccess/source/ui/misc/databaseobjectview.cxx:95
#12 0x00007fffcc4eb65b in dbaui::OApplicationController::newElement
(this=this@entry=0x7fffd801e220, _eType=_eType@entry=dbaui::E_TABLE,
i_rAdditionalArguments=..., o_rDocumentDefinition=...)
    at /AOO/main/dbaccess/source/ui/app/AppController.cxx:2032
#13 0x00007fffcc4f92cb in dbaui::OApplicationController::Execute
(this=0x7fffd801e220, _nId=<optimized out>, aArgs=...) at
/AOO/main/dbaccess/source/ui/app/AppController.cxx:1278
#14 0x00007fffcc54fa15 in dbaui::OGenericUnoController::executeChecked
(this=0x7fffd801e220, _rCommand=..., aArgs=...) at
/AOO/main/dbaccess/source/ui/browser/genericcontroller.cxx:1270
#15 0x00007fffcc517324 in dbaui::OCreationList::onSelected (this=<optimized
out>, _pEntry=<optimized out>) at
/AOO/main/dbaccess/source/ui/app/AppDetailView.cxx:364
#16 0x00007ffff31015ca in ImplHandleMouseEvent
(pWindow=pWindow@entry=0x7fffd9c8f320,
nSVEvent=nSVEvent@entry=2, bMouseLeave=bMouseLeave@entry=0 '\000',
nX=<optimized out>, nY=<optimized out>, nMsgTime=<optimized out>, nCode=1,
nMode=<optimized out>)
    at /AOO/main/vcl/source/window/winproc.cxx:813
#17 0x00007ffff310250d in ImplHandleSalMouseButtonUp
(pWindow=pWindow@entry=0x7fffd9c8f320,
pEvent=<optimized out>) at /AOO/main/vcl/source/window/winproc.cxx:2086
#18 0x00007ffff3101f00 in ImplWindowFrameProc (pWindow=0x7fffd9c8f320,
nEvent=<optimized out>, pEvent=0x7fffffffade8) at
/AOO/main/vcl/source/window/winproc.cxx:2428
#19 0x00007fffebd07ae8 in GtkSalFrame::signalButton (pEvent=0x997480,
frame=0x7fffd8f81c88) at /AOO/main/vcl/unx/gtk/window/gtkframe.cxx:2678
#20 0x00007fffea9dbaec in ?? () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#21 0x00007fffeb214fa5 in g_closure_invoke () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007fffeb226fc1 in ?? () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007fffeb22f7f9 in g_signal_emit_valist () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#24 0x00007fffeb23008f in g_signal_emit () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#25 0x00007fffeaaf393c in ?? () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#26 0x00007fffea9da284 in gtk_propagate_event () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#27 0x00007fffea9da63b in gtk_main_do_event () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#28 0x00007fffea64ec8c in ?? () from
/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#29 0x00007fffeaf3e197 in g_main_context_dispatch () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007fffeaf3e3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007fffeaf3e49c in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007fffebcf0592 in GtkXLib::Yield (this=0x7ffff7f77010,
bWait=<optimized out>, bHandleAllCurrentEvents=<optimized out>) at
/AOO/main/vcl/unx/gtk/app/gtkdata.cxx:874
#33 0x00007ffff2eaa8eb in ImplYield (i_bWait=i_bWait@entry=true,
i_bAllEvents=i_bAllEvents@entry=false) at
/AOO/main/vcl/source/app/svapp.cxx:476
#34 0x00007ffff2ea794c in Application::Yield
(i_bAllEvents=i_bAllEvents@entry=false) at
/AOO/main/vcl/source/app/svapp.cxx:510
#35 0x00007ffff2ea7971 in Application::Execute () at
/AOO/main/vcl/source/app/svapp.cxx:453
#36 0x00007ffff77140ff in desktop::Desktop::Main (this=0x7fffffffba40) at
/AOO/main/desktop/source/app/app.cxx:2232
#37 0x00007ffff2eae952 in ImplSVMain () at
/AOO/main/vcl/source/app/svmain.cxx:196
#38 0x00007ffff2eaea59 in SVMain () at
/AOO/main/vcl/source/app/svmain.cxx:237
#39 0x00007ffff774a2db in soffice_main () at
/AOO/main/desktop/source/app/sofficemain.cxx:45
#40 0x0000000000401266 in sal_main () at main.c:31
#41 0x000000000040124b in main (argc=1, argv=0x7fffffffbbd8) at main.c:30


On Fri, Nov 17, 2017 at 8:47 PM, Damjan Jovanovic <dam...@apache.org> wrote:

> tl;dr:
> Put a breakpoint on dbaui::DatabaseObjectView::doDispatch or
> /full/path/to/main/dbaccess/source/ui/misc/databaseobjectview.cxx:120
> just before you click the "Create Table..." button.
> Step through it in your debugger line by line and document how for you get.
> Then recursively repeat and step deeper and deeper into the last statement
> before the exception is thrown, until you narrow down the failure at its
> source.
> A debug build of main/dbaccess may also help ("build debug=true" in
> main/dbaccess).
> Email us back with your findings.
>
> The long version:
> ----------------------
>
> Opening the "Create Table in Design View" dialog and attaching GDB and
> running "thread apply all bt" doesn't show anything useful, so we go
> through the source instead.
>
> The text "Create Table in Design View" must come from somewhere:
>
> [main/dbaccess]$ grep "Create Table in Design View" * -R
> source/ui/app/app.src:    Text [ en-US ] = "Create Table in Design
> View..." ;
>
> Looking at that file we see:
>
> String RID_STR_NEW_TABLE
> {
>         Text [ en-US ] = "Create Table in Design View..." ;
> };
>
> Now look for RID_STR_NEW_TABLE:
>
> [main/dbaccess]$ grep RID_STR_NEW_TABLE * -R
> source/ui/app/app.src:String RID_STR_NEW_TABLE
> source/ui/app/app.src:String RID_STR_NEW_TABLE_AUTO
> source/ui/app/dbu_app.hrc:#define RID_STR_NEW_TABLE
> RID_STR_APP_START + 4
> source/ui/app/dbu_app.hrc:#define RID_STR_NEW_TABLE_AUTO
> RID_STR_APP_START + 5
> source/ui/app/AppDetailView.cxx:        rList.push_back( TaskEntry(
> ".uno:DBNewTable", RID_STR_TABLES_HELP_TEXT_DESIGN, RID_STR_NEW_TABLE ) );
> source/ui/app/AppDetailView.cxx:        rList.push_back( TaskEntry(
> ".uno:DBNewTableAutoPilot", RID_STR_TABLES_HELP_TEXT_WIZARD,
> RID_STR_NEW_TABLE_AUTO ) );
>
> Only the source/ui/app/AppDetailView.cxx is useful, as it contains actual
> code. This is what it does:
>
>     switch ( _eType )
>     {
>     case E_TABLE:
>         rList.push_back( TaskEntry( ".uno:DBNewTable",
> RID_STR_TABLES_HELP_TEXT_DESIGN, RID_STR_NEW_TABLE ) );
>         rList.push_back( TaskEntry( ".uno:DBNewTableAutoPilot",
> RID_STR_TABLES_HELP_TEXT_WIZARD, RID_STR_NEW_TABLE_AUTO ) );
>         rList.push_back( TaskEntry( ".uno:DBNewView",
> RID_STR_VIEWS_HELP_TEXT_DESIGN, RID_STR_NEW_VIEW, true ) );
>         _rData.nTitleId = RID_STR_TABLES_CONTAINER;
>         break;
>
> which doesn't help much. But it does link it to ".uno:DBNewTable". Where
> else is that used?
>
> [main/dbaccess]$ grep "\.uno:DBNewTable" * -R
> source/ui/control/toolboxcontroller.cxx:
> m_aStates.insert(TCommandState::value_type(::rtl::OUString(R
> TL_CONSTASCII_USTRINGPARAM(".uno:DBNewTable"))          ,sal_True));
> source/ui/app/AppController.cxx:    implDescribeSupportedFeature(
> ".uno:DBNewTable",         ID_NEW_TABLE_DESIGN,       CommandGroup::INSERT
> );
> source/ui/app/AppController.cxx:    implDescribeSupportedFeature(
> ".uno:DBNewTableAutoPilot",ID_NEW_TABLE_DESIGN_AUTO_PILOT,
> source/ui/app/app.src:            Command = ".uno:DBNewTable";
> source/ui/app/AppDetailView.cxx:        rList.push_back( TaskEntry(
> ".uno:DBNewTable", RID_STR_TABLES_HELP_TEXT_DESIGN, RID_STR_NEW_TABLE ) );
> source/ui/app/AppDetailView.cxx:        rList.push_back( TaskEntry(
> ".uno:DBNewTableAutoPilot", RID_STR_TABLES_HELP_TEXT_WIZARD,
> RID_STR_NEW_TABLE_AUTO ) );
> uiconfig/dbapp/menubar/menubar.xml:            <menu:menuitem
> menu:id=".uno:DBNewTable"/>
>
> Here we have a number of matches. The menubar.xml is related to the GUI
> layout, we want the code. The app.src we've already looked at. That only
> leaves toolboxcontroller.cxx, AppController.cxx and AppDetailView.cxx.
> AppDetailView.cxx only uses ".uno:DBNewTable" for what we've already seen,
> to add it to rList. toolboxcontroller.cxx also only uses that string in
> some initialization code. So through a process of elimination, we're only
> left with AppController.cxx.
>
> It contains only 1 matching line:
>
>     implDescribeSupportedFeature( ".uno:DBNewTable",
> ID_NEW_TABLE_DESIGN,       CommandGroup::INSERT );
>
> We continue on with this ID_NEW_TABLE_DESIGN:
>
> [main/dbaccess]$ grep ID_NEW_TABLE_DESIGN * -R
> source/ui/app/AppController.cxx:            case ID_NEW_TABLE_DESIGN:
> source/ui/app/AppController.cxx:            case
> ID_NEW_TABLE_DESIGN_AUTO_PILOT:
> source/ui/app/AppController.cxx:            case
> ID_NEW_TABLE_DESIGN_AUTO_PILOT:
> source/ui/app/AppController.cxx:            case ID_NEW_TABLE_DESIGN:
> source/ui/app/AppController.cxx:                         case
> ID_NEW_TABLE_DESIGN_AUTO_PILOT:
> source/ui/app/AppController.cxx:                        case
> ID_NEW_TABLE_DESIGN:
> source/ui/app/AppController.cxx:    implDescribeSupportedFeature(
> ".uno:DBNewTable",         ID_NEW_TABLE_DESIGN,       CommandGroup::INSERT
> );
> source/ui/app/AppController.cxx:    implDescribeSupportedFeature(
> ".uno:DBNewTableAutoPilot",ID_NEW_TABLE_DESIGN_AUTO_PILOT,
> source/ui/app/app.src:            MID_NEW_TABLE_DESIGN
> source/ui/inc/browserids.hxx:#define ID_NEW_TABLE_DESIGN
>     25
> source/ui/inc/browserids.hxx:#define ID_NEW_TABLE_DESIGN_AUTO_PILOT
>     45
> source/ui/inc/toolbox_tmpl.hrc:#define MID_NEW_TABLE_DESIGN \
> source/ui/inc/toolbox_tmpl.hrc:    Identifier = ID_NEW_TABLE_DESIGN;    \
>
> The only source code file is, again, source/ui/app/AppController.cxx. The
> string ID_NEW_TABLE_DESIGN appears in OApplicationController::GetState()
> but only returns a setting:
>
>             case ID_NEW_TABLE_DESIGN:
>             case ID_NEW_TABLE_DESIGN_AUTO_PILOT:
>                 aReturn.bEnabled = !isDataSourceReadOnly() &&
> !isConnectionReadOnly();
>                 break;
>
> and appears again in OApplicationController::Execute(), in a large switch
> statement's case block, that ultimately does:
>
>                     if ( bAutoPilot )
>                         getContainer()->PostUserEvent( LINK( this,
> OApplicationController, OnCreateWithPilot ), reinterpret_cast< void* >(
> eType ) );
>                     else
>                     {
>                         Reference< XComponent > xDocDefinition;
>                         newElement( eType, aCreationArgs, xDocDefinition );
>                     }
>
> with bAutoPilot set to false, so it must be calling newElement(). We've
> narrowed it down far enough, so we proceed with a debugger. Put a
> breakpoint on OApplicationController::newElement(), and continue:
>
> (gdb) break dbaui::OApplicationController::newElement
> Breakpoint 1 at 0x7fffcc4eb400: file 
> /AOO/main/dbaccess/source/ui/app/AppController.cxx,
> line 1995.
> (gdb) c
>
> Now open the dialog in AOO, and it will trigger the breakpoint:
>
> Thread 1 "soffice.bin" hit Breakpoint 1, 
> dbaui::OApplicationController::newElement
> (this=this@entry=0x7fffd801e220, _eType=_eType@entry=dbaui::E_TABLE,
> i_rAdditionalArguments=..., o_rDocumentDefinition=...)
>     at /AOO/main/dbaccess/source/ui/app/AppController.cxx:1995
> 1995    {
> (gdb)
>
> Step through with "n", and then stepping into with "s" on line 2024:
>
> 2015        case E_TABLE:
> 2016        {
> 2017            ::std::auto_ptr< DatabaseObjectView > pDesigner;
> 2018            SharedConnection xConnection( ensureConnection() );
> 2019            if ( !xConnection.is() )
> 2020                break;
> 2021
> 2022            if ( _eType == E_TABLE )
> 2023            {
> 2024                pDesigner.reset( new TableDesigner( getORB(), this,
> getFrame() ) );
> 2025            }
>
> I didn't have much luck stepping into line 2024, but did look for this
> TableDesigner:
>
> [main/dbaccess]$ grep TableDesigner * -R
> source/ui/misc/databaseobjectview.cxx:    //= TableDesigner
> source/ui/misc/databaseobjectview.cxx:    TableDesigner::TableDesigner(
> const Reference< XMultiServiceFactory >& _rxORB, const Reference<
> XDatabaseDocumentUI >& _rxApplication, const Reference< XFrame >&
> _rxParentFrame )
> source/ui/misc/databaseobjectview.cxx:    void
> TableDesigner::fillDispatchArgs( ::comphelper::NamedValueCollection&
> i_rDispatchArgs, const Any& _aDataSource,
> source/ui/misc/databaseobjectview.cxx:    Reference< XComponent >
> TableDesigner::doCreateView( const Any& _rDataSource, const
> ::rtl::OUString& _rObjectName,
> source/ui/misc/databaseobjectview.cxx:        OSL_ENSURE(
> xDesignerComponent.is(), "TableDesigner::doCreateView: a designer which is
> no dialog and no component?" );
> source/ui/misc/databaseobjectview.cxx:    Reference< XInterface >
> TableDesigner::impl_getConnectionProvidedDesigner_nothrow( const
> ::rtl::OUString& _rTableName )
> source/ui/app/AppController.cxx:                        pDesigner.reset(
> new TableDesigner( getORB(), this, m_aCurrentFrame.getFrame() ) );
> source/ui/app/AppController.cxx:                pDesigner.reset( new
> TableDesigner( getORB(), this, getFrame() ) );
> source/ui/inc/databaseobjectview.hxx:    //= TableDesigner
> source/ui/inc/databaseobjectview.hxx:    class TableDesigner : public
> DatabaseObjectView
> source/ui/inc/databaseobjectview.hxx:        TableDesigner(
>
> and in source/ui/misc/databaseobjectview.cxx we see it does very little:
>     TableDesigner::TableDesigner( const Reference< XMultiServiceFactory >&
> _rxORB, const Reference< XDatabaseDocumentUI >& _rxApplication, const
> Reference< XFrame >& _rxParentFrame )
>         :DatabaseObjectView( _rxORB, _rxApplication, _rxParentFrame,
> static_cast< ::rtl::OUString >( URL_COMPONENT_TABLEDESIGN ) )
>     {
>     }
>
> Further on in OApplicationController::newElement() then:
>
> 2032            xComponent.set( pDesigner->createNew( xDataSource,
> i_rAdditionalArguments ), UNO_QUERY );
>
> Stepping into it, reading more code, etc. I eventually found a  useful
> function, DatabaseObjectView::doDispatch() in
> source/ui/misc/databaseobjectview.cxx.
>
> Putting a breakpoint on it, we see this stack trace when it's hit:
>
> Thread 1 "soffice.bin" hit Breakpoint 2, dbaui::DatabaseObjectView::doDispatch
> (this=this@entry=0x7fffade11c58, i_rDispatchArgs=...) at
> /AOO/main/dbaccess/source/ui/misc/databaseobjectview.cxx:120
> 120        {
> (gdb) bt
> #0  dbaui::DatabaseObjectView::doDispatch (this=this@entry=0x7fffade11c58,
> i_rDispatchArgs=...) at /AOO/main/dbaccess/source/ui/m
> isc/databaseobjectview.cxx:120
> #1  0x00007fffcc63543c in dbaui::DatabaseObjectView::doCreateView
> (this=this@entry=0x7fffade11c58, _rDataSource=..., _rObjectName=...,
> i_rCreationArgs=...) at /AOO/main/dbaccess/source/ui/m
> isc/databaseobjectview.cxx:115
> #2  0x00007fffcc635513 in dbaui::TableDesigner::doCreateView
> (this=this@entry=0x7fffade11c58, _rDataSource=..., _rObjectName=...,
> i_rCreationArgs=...) at /AOO/main/dbaccess/source/ui/m
> isc/databaseobjectview.cxx:258
> #3  0x00007fffcc634785 in dbaui::DatabaseObjectView::createNew
> (this=0x7fffade11c58, _xDataSource=..., i_rDispatchArgs=...) at
> /AOO/main/dbaccess/source/ui/misc/databaseobjectview.cxx:95
> #4  0x00007fffcc4eb65b in dbaui::OApplicationController::newElement
> (this=this@entry=0x7fffd801e220, _eType=_eType@entry=dbaui::E_TABLE,
> i_rAdditionalArguments=..., o_rDocumentDefinition=...)
>     at /AOO/main/dbaccess/source/ui/app/AppController.cxx:2032
> #5  0x00007fffcc4f92cb in dbaui::OApplicationController::Execute
> (this=0x7fffd801e220, _nId=<optimized out>, aArgs=...) at
> /AOO/main/dbaccess/source/ui/app/AppController.cxx:1278
> #6  0x00007fffcc54fa15 in dbaui::OGenericUnoController::executeChecked
> (this=0x7fffd801e220, _rCommand=..., aArgs=...) at
> /AOO/main/dbaccess/source/ui/browser/genericcontroller.cxx:1270
> #7  0x00007fffcc517324 in dbaui::OCreationList::onSelected
> (this=<optimized out>, _pEntry=<optimized out>) at
> /AOO/main/dbaccess/source/ui/app/AppDetailView.cxx:364
> #8  0x00007ffff31015ca in ImplHandleMouseEvent (pWindow=pWindow@entry
> =0x7fffd9c8f320, nSVEvent=nSVEvent@entry=2, bMouseLeave=bMouseLeave@entry=0
> '\000', nX=<optimized out>, nY=<optimized out>, nMsgTime=<optimized out>,
> nCode=1, nMode=<optimized out>)
>     at /AOO/main/vcl/source/window/winproc.cxx:813
> #9  0x00007ffff310250d in ImplHandleSalMouseButtonUp (pWindow=pWindow@entry
> =0x7fffd9c8f320, pEvent=<optimized out>) at /AOO/main/vcl/source/window/wi
> nproc.cxx:2086
> #10 0x00007ffff3101f00 in ImplWindowFrameProc (pWindow=0x7fffd9c8f320,
> nEvent=<optimized out>, pEvent=0x7fffffffade8) at
> /AOO/main/vcl/source/window/winproc.cxx:2428
> #11 0x00007fffebd07ae8 in GtkSalFrame::signalButton (pEvent=0x9974f0,
> frame=0x7fffd8f81c88) at /AOO/main/vcl/unx/gtk/window/gtkframe.cxx:2678
> #12 0x00007fffea9dbaec in ?? () from /usr/lib/x86_64-linux-gnu/libg
> tk-x11-2.0.so.0
> #13 0x00007fffeb214fa5 in g_closure_invoke () from
> /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
> #14 0x00007fffeb226fc1 in ?? () from /usr/lib/x86_64-linux-gnu/libg
> object-2.0.so.0
> #15 0x00007fffeb22f7f9 in g_signal_emit_valist () from
> /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
> #16 0x00007fffeb23008f in g_signal_emit () from
> /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
> #17 0x00007fffeaaf393c in ?? () from /usr/lib/x86_64-linux-gnu/libg
> tk-x11-2.0.so.0
> #18 0x00007fffea9da284 in gtk_propagate_event () from
> /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
> #19 0x00007fffea9da63b in gtk_main_do_event () from
> /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
> #20 0x00007fffea64ec8c in ?? () from /usr/lib/x86_64-linux-gnu/libg
> dk-x11-2.0.so.0
> #21 0x00007fffeaf3e197 in g_main_context_dispatch () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #22 0x00007fffeaf3e3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-
> 2.0.so.0
> #23 0x00007fffeaf3e49c in g_main_context_iteration () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #24 0x00007fffebcf0592 in GtkXLib::Yield (this=0x7ffff7f77010,
> bWait=<optimized out>, bHandleAllCurrentEvents=<optimized out>) at
> /AOO/main/vcl/unx/gtk/app/gtkdata.cxx:874
> #25 0x00007ffff2eaa8eb in ImplYield (i_bWait=i_bWait@entry=true,
> i_bAllEvents=i_bAllEvents@entry=false) at /AOO/main/vcl/source/app/svapp
> .cxx:476
> #26 0x00007ffff2ea794c in Application::Yield 
> (i_bAllEvents=i_bAllEvents@entry=false)
> at /AOO/main/vcl/source/app/svapp.cxx:510
> #27 0x00007ffff2ea7971 in Application::Execute () at
> /AOO/main/vcl/source/app/svapp.cxx:453
> #28 0x00007ffff77140ff in desktop::Desktop::Main (this=0x7fffffffba40) at
> /AOO/main/desktop/source/app/app.cxx:2232
> #29 0x00007ffff2eae952 in ImplSVMain () at /AOO/main/vcl/source/app/svmai
> n.cxx:196
> #30 0x00007ffff2eaea59 in SVMain () at /AOO/main/vcl/source/app/svmai
> n.cxx:237
> #31 0x00007ffff774a2db in soffice_main () at /AOO/main/desktop/source/app/s
> officemain.cxx:45
> #32 0x0000000000401266 in sal_main () at main.c:31
> #33 0x000000000040124b in main (argc=1, argv=0x7fffffffbbd8) at main.c:30
>
> We also see an ugly catch statement there that swallows all exceptions,
> which is why failure to open that dialog is silently ignored:
>
>             catch( const Exception& )
>             {
>                 DBG_UNHANDLED_EXCEPTION();
>             }
>
> Maybe if you built Base in debug mode, you'd have more feedback from that
> DBG_UNHANDLED_EXCEPTION?
>
> Anyway on line 155 is where we actually start doing something useful,
> which is loading m_sComponentURL (= ".component:DB/TableDesign") into
> target frame "_self":
>
> 155                xReturn = xFrameLoader->loadComponentFromURL(
> 156                    m_sComponentURL,
> 157                    ::rtl::OUString(RTL_CONSTASCII
> _USTRINGPARAM("_self")),
> 158                    0,
> 159                    i_rDispatchArgs.getPropertyValues()
> 160                );
>
> My attempts to step deeper in aren't going well so I am taking a break.
> Please try analyze how far you get in DatabaseObjectView::doDispatch() in
> /main/dbaccess/source/ui/misc/databaseobjectview.cxx, and let me know?
>
> Happy debugging
> Damjan
>
>

Reply via email to