| Summary: | abort when trying to open "edit/database/connection type" dialog | ||
|---|---|---|---|
| Product: | LibreOffice | Reporter: | Lionel Elie Mamane <lionel> |
| Component: | Database | Assignee: | Andrzej Hunt <andrzej> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | critical | ||
| Priority: | highest | CC: | andrzej, l.lunak |
| Version: | 4.2.0.0.alpha0+ Master | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | target:4.2.0 | ||
| i915 platform: | i915 features: | ||
|
Description
Lionel Elie Mamane
2013-08-26 23:42:54 UTC
I've been unable to reproduce this on either of my systems: -My current development system with a rather old working tree (based on two week old master) works fine as expected (this is the system where I created/tested the patch). -New system, built from clean, only in use since last week (and no development work done on it yet), with the following commit: commit 7bc88db8c500b41fe926fb99cd403accd696e671 Author: Andrzej J.R. Hunt <andrzej@ahunt.org> Date: Tue Aug 27 20:52:37 2013 +0100 Implemet setNull. (firebird-sdbc) Change-Id: I9fd53a5e8b5d1dba467fa8064f9f2ea1b93f26df (Couldn't reproduce a week ago on the same machine either.) The .ui changes are definitely in that commit though -- maybe there is something specific to your machine that is preventing the updated .ui file from being used? Re-reproduced with commit 4033532e9ffb004ab5864401aa1af0c69fc024ec Author: Lionel Elie Mamane <lionel@mamane.lu> Date: Tue Aug 27 18:28:37 2013 +0200 release m_aLengthVector even when m_aBindVector is empty Looking at commit 04d1e80ac7091ec2bf31c8617e832d5fe15350be more closely, it indeed contains the string "embeddeddbList" in the .ui file... So frankly, I'm not sure what is wrong. I took a look at the core file in gdb; it seems to me that the code looks for "embeddeddbList" in dbaccess/uiconfig/ui/generalpagedialog.ui, while it is "only" in dbaccess/uiconfig/ui/generalpagewizard.ui.
To resolve any doubt, when you say you cannot reproduce, you are testing by opening an *existing* (non-embedded) .odb file, going to menu edit, submenu database, entry "connection type", right? *Not* the new database wizard. The new database wizard also opens correctly for me. This bug is about changing the connection type of an existing .odb file.
#18 0x00007f2814d5308d in VclBuilder::get<ListBox> (this=0x258bad0, ret=@0x261bcb8: 0x0, sID="embeddeddbList")
at /home/master/src/libreoffice/workdirs/libreoffice-4.2/include/vcl/builder.hxx:259
#19 0x00007f2814d520ed in VclBuilderContainer::get<ListBox> (this=this@entry=0x261bc10, ret=@0x261bcb8: 0x0, sID="embeddeddbList")
at /home/master/src/libreoffice/workdirs/libreoffice-4.2/include/vcl/builder.hxx:392
#20 0x00007f2814d5c3c0 in dbaui::OGeneralPage::OGeneralPage (this=this@entry=0x261ba20, pParent=pParent@entry=0x246f350,
_rUIXMLDescription="dbaccess/ui/generalpagedialog.ui", _rItems=...)
at /home/master/src/libreoffice/workdirs/libreoffice-4.2/dbaccess/source/ui/dlg/generalpage.cxx:68
#21 0x00007f2814d5e769 in dbaui::OGeneralPageDialog::OGeneralPageDialog (this=0x261ba20, pParent=0x246f350, _rItems=...)
at /home/master/src/libreoffice/workdirs/libreoffice-4.2/dbaccess/source/ui/dlg/generalpage.cxx:451
#22 0x00007f2814d3ed68 in dbaui::ODbTypeWizDialog::createPage (this=0x246f350, _nState=<optimized out>)
at /home/master/src/libreoffice/workdirs/libreoffice-4.2/dbaccess/source/ui/dlg/dbwiz.cxx:243
#23 0x00007f2831996970 in svt::OWizardMachine::GetOrCreatePage (this=this@entry=0x246f350, i_nState=i_nState@entry=0)
at /home/master/src/libreoffice/workdirs/libreoffice-4.2/svtools/source/dialogs/wizardmachine.cxx:254
(gdb) frame 18
#18 0x00007f2814d5308d in VclBuilder::get<ListBox> (this=0x258bad0, ret=@0x261bcb8: 0x0, sID="embeddeddbList")
at /home/master/src/libreoffice/workdirs/libreoffice-4.2/include/vcl/builder.hxx:259
259 assert(w && dynamic_cast<T*>(w));
(gdb) print w
$1 = (Window *) 0x0
(gdb) print *this
$3 = {
<boost::noncopyable_::noncopyable> = {<No data fields>},
members of VclBuilder:
m_aModuleMap = empty boost::ptr_map,
m_aDeferredProperties = std::__debug::map with 0 elements,
m_aChildren = std::__debug::vector of length 6, capacity 8 = {{
m_sID = "PageGeneral",
m_pWindow = 0x261d1c0,
m_nResponseId = 0,
m_aPackingData = {
m_bVerticalOrient = false,
m_nPosition = -1
}
}, {
m_sID = "datasourceTypePre",
m_pWindow = 0x244c970,
m_nResponseId = 0,
m_aPackingData = {
m_bVerticalOrient = false,
m_nPosition = -1
}
}, {
m_sID = "datasourceTypeLabel",
m_pWindow = 0x244d020,
m_nResponseId = 0,
m_aPackingData = {
m_bVerticalOrient = false,
m_nPosition = -1
}
}, {
m_sID = "datasourceType",
m_pWindow = 0x244d750,
m_nResponseId = 0,
m_aPackingData = {
m_bVerticalOrient = false,
m_nPosition = -1
}
}, {
m_sID = "datasourceTypeHelp",
m_pWindow = 0x25a7420,
m_nResponseId = 0,
m_aPackingData = {
m_bVerticalOrient = false,
m_nPosition = -1
---Type <return> to continue, or q <return> to quit---
}
}, {
m_sID = "specialMessage",
m_pWindow = 0x25a7c00,
m_nResponseId = 0,
m_aPackingData = {
m_bVerticalOrient = false,
m_nPosition = -1
}
}},
m_aMenus = std::__debug::vector of length 0, capacity 0,
m_sID = "PageGeneral",
m_sHelpRoot = "dbaccess/ui/generalpagedialog/",
m_pStringReplace = 0x7f2835337bb1 <desktop::ReplaceStringHookProc(rtl::OUString const&)>,
m_pParent = 0x261ba20,
m_bToplevelHasDeferredInit = false,
m_bToplevelHasDeferredProperties = false,
m_bToplevelParentFound = false,
m_pParserState = 0x261a870,
m_xFrame = empty uno::Reference
}
Apologies -- I completely misunderstood what was going on (I'd never used the dialog before since I'd only used embedded dbs) -- I've managed to reproduce now. I'm trying to fix this by testing for the presence of embeddeddbList in the dialog code before trying to use it now (alternatively I could test for the dialog name but that might be too brittle). FYI. the patch fixing this is now in gerrit: https://gerrit.libreoffice.org/#/c/5654/ Andrzej J.R. Hunt committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c656482c5a1467d6dc21601e1296ba3711916d6b fdo#68588 Move embeddeddbList into OGeneralPageWizard. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.