Bug Hunting Session
Bug 52399 - EDITING: Report-Builder does not show any properties
Summary: EDITING: Report-Builder does not show any properties
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
Version:
(earliest affected)
3.6.0.2 rc
Hardware: x86 (IA32) All
: high major
Assignee: Not Assigned
URL:
Whiteboard: target:3.7.0 target:3.6.0
Keywords: regression
Depends on:
Blocks: mab3.6
  Show dependency treegraph
 
Reported: 2012-07-23 14:29 UTC by Robert Großkopf
Modified: 2012-08-22 06:21 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
Properties are hidden in report-builder. Blank grey background only. (81.67 KB, image/png)
2012-07-23 14:36 UTC, Robert Großkopf
Details
reproduction example (36.46 KB, application/vnd.oasis.opendocument.database)
2012-07-24 15:33 UTC, Lionel Elie Mamane
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Großkopf 2012-07-23 14:29:27 UTC
When opening the Report-Builder in 3.6.0.2 rc I could not see any properties. Tried to change this, but there is only a blank grey area where the properties of the fields and groups should be shown.
Comment 1 Robert Großkopf 2012-07-23 14:36:10 UTC
Created attachment 64549 [details]
Properties are hidden in report-builder. Blank grey background only.
Comment 2 Rainer Bielefeld Retired 2012-07-24 06:00:15 UTC
[Reproducible] with Server Installation of  "LibreOffice 3.6.0.2 rc  German UI/Locale [Build-ID:  815c576] on German WIN7 Home Premium (64bit), same with French version.

Clicking toolbar icon or right click on field makes appear the area for properties, but no properties are shown.

Report builder did not work with my 3.6.0.0.beta, and beta2 ... RC1

Worked fine with 
- Server installation of  Master "LOdev 3.6.0alpha0+  – WIN7 Home Premium (64bit) ENGLISH UI [Build ID: 475d0c5-829fc92-39746e8-206648e-fefd87]" (2012-02-14)
- 3.5.5

so Regression!

Reincarnation of "Bug 32742 - Report builder not shows properties on report fields" or something completely different?

@Lionel:
Please set Status to ASSIGNED and add yourself to "Assigned To" if you accept this Bug or forward the Bug if it's not your turf.
Comment 3 Lionel Elie Mamane 2012-07-24 08:23:28 UTC
Reproduced in my dev tree.

I get those warnings on stderr (debug build):


warn:legacy.osl:28507:1:/home/master/src/libreoffice/workdirs/libreoffice-3.6/reportdesign/source/ui/report/propbrw.cxx:180: PropBrw::PropBrw: could not create/initialize the browser controller!
warn:legacy.osl:28507:1:/home/master/src/libreoffice/workdirs/libreoffice-3.6/dbaccess/source/ui/browser/genericcontroller.cxx:1350: SbaTableQueryBrowser::openHelpAgent: could not get a dispatcher!


The first looks relevant; "PropBrw" could be "Properties Browser"
Comment 4 Lionel Elie Mamane 2012-07-24 14:01:04 UTC
On libreoffice-3-6, the execution of rptui::PropBrw::PropBrw raises / handles the following exceptions:

framework::ModuleManager::identify throws:

if (sModule.isEmpty())
       throw css::frame::UnknownModuleException(
                  ::rtl::OUString("Cant find suitable module for the given component."),
                  static_cast< ::cppu::OWeakObject* >(this));

twice with a different backtrace.

Then:

(anonymous namespace)::ServiceManager::setPropertyValue (this=0x637610, aPropertyName="DefaultContext")
    at /home/master/src/libreoffice/workdirs/libreoffice-3.6/cppuhelper/source/defaultbootstrap.cxx:1224

throws:

if (aPropertyName == "DefaultContext") {
     throw css::beans::PropertyVetoException(
                aPropertyName, static_cast< cppu::OWeakObject * >(this));
}

called from:

#1  0x00007ffff5f2f36e in (anonymous namespace)::ServiceManager::setPropertyValue (this=0x637610, 
    aPropertyName="DefaultContext")
    at /home/master/src/libreoffice/workdirs/libreoffice-3.6/cppuhelper/source/defaultbootstrap.cxx:1224
#2  0x00007fffcd5de3d6 in rptui::PropBrw::PropBrw (this=0x1fbc3b0, (...))


On libreoffice-3-5, framework::ModuleManager::identify also throws twice, but setPropertyValue is successful.

The interesting thing is that setPropertyValue ends up in stoc_smgr::OServiceManager::setPropertyValue
in file stoc/source/servicemanager/servicemanager.cxx
instead of (anonymous namespace)::ServiceManager::setPropertyValue
in file cppuhelper/source/defaultbootstrap.cxx

My understanding is that in libreoffice-3-6, the xFactoryProperties is somehow not initialised right.
it comes from m_xORB:

            Reference< XPropertySet > xFactoryProperties( m_xORB, UNO_QUERY_THROW );

which is itself initialised from a ctor argument. The ctor invocation is in rptui::ODesignView::togglePropertyBrowser

	        m_pPropWin = new PropBrw(getController().getORB(),m_pTaskPane,this);

This looks like it is initialised in the ODesignView ctor, which is called from  OReportController::Construct:

    ODesignView* pMyOwnView = new ODesignView( pParent, getORB(), *this );

So it looks like initialised in OReportController ctor, called from:


#1  0x00007fffce306bad in rptui::OReportController::create (xContext=...)
    at /home/master/src/libreoffice/core/reportdesign/source/ui/report/ReportController.cxx:293
#2  0x00007ffff5fbfd32 in cppu::OSingleFactoryHelper::createInstanceEveryTime (this=0x1c5faa8, xContext=...)
    at /home/master/src/libreoffice/core/cppuhelper/source/factory.cxx:172
#3  0x00007ffff5fbff81 in cppu::OSingleFactoryHelper::createInstanceWithContext (this=this@entry=0x1c5faa8, 
    xContext=...) at /home/master/src/libreoffice/core/cppuhelper/source/factory.cxx:213
#4  0x00007ffff5fc0953 in cppu::OFactoryComponentHelper::createInstanceWithContext (this=0x1c5fa40, xContext=...)
    at /home/master/src/libreoffice/core/cppuhelper/source/factory.cxx:489
#5  0x00007ffff5fc159e in cppu::ORegistryFactoryHelper::createInstanceEveryTime (this=0x1c15d20, xContext=...)
    at /home/master/src/libreoffice/core/cppuhelper/source/factory.cxx:749
#6  0x00007ffff5fbff81 in cppu::OSingleFactoryHelper::createInstanceWithContext (this=this@entry=0x1c15d88, 
    xContext=...) at /home/master/src/libreoffice/core/cppuhelper/source/factory.cxx:213
#7  0x00007ffff5fc0953 in cppu::OFactoryComponentHelper::createInstanceWithContext (this=0x1c15d20, xContext=...)
    at /home/master/src/libreoffice/core/cppuhelper/source/factory.cxx:489
#8  0x00007fffeb6bde6e in stoc_smgr::OServiceManager::createInstanceWithContext (this=0x6276e0, 
    rServiceSpecifier="com.sun.star.sdb.ReportDesign", xContext=...)
    at /home/master/src/libreoffice/core/stoc/source/servicemanager/servicemanager.cxx:1191
#9  0x00007fffeb6be641 in stoc_smgr::OServiceManager::createInstance (this=0x6276e0, 
    rServiceSpecifier="com.sun.star.sdb.ReportDesign")
    at /home/master/src/libreoffice/core/stoc/source/servicemanager/servicemanager.cxx:1301


The difference is that in libreoffice-3-6, instead of stoc_smgr::OServiceManager::*, we get into
defaultbootstrap.cxx::(anonymous namespace)::ServiceManager::*.

So we need to look at how the service manager is initialised. Cf DBContentLoader ctor; again the Context argument ultimately comes (in libreoffice-3-5) from stoc_smgr::OServiceManager::createInstance.


Grrr... I'm running in circles.
Comment 5 Stephan Bergmann 2012-07-24 14:32:34 UTC
(In reply to comment #0)
> When opening the Report-Builder

How do I do that (with the Report Builder extension already installed)?
Comment 6 Lionel Elie Mamane 2012-07-24 14:57:16 UTC
(In reply to comment #5)
> (In reply to comment #0)
>> When opening the Report-Builder

> How do I do that (with the Report Builder extension already installed)?

Open an .odb file that has a report. For example attachment 63644 [details] to bug 50800 will do.

In the left part of the window, click reports.

Right-click on a report, e.g. "Inventory 07JUN12". Click on "edit" in the contextual menu. Click on any control, e.g. "Key" (or "=Key"). If the property browser (right part of the window) is not open, press F4 or menu view / properties.

In 3.6, the property browser is a grey slab.
In 3.5, you'll see one or two tabs, "General" and "Data" and inside properties like "Name", "Position X/Y", "Height", "Width", "Data Field Type", ...
Comment 7 Stephan Bergmann 2012-07-24 15:27:44 UTC
(In reply to comment #6)
> In the left part of the window, click reports.
> 
> Right-click on a report

Does not list any reports for me (in the large lower right pane titled "Reports"), but clicking "Create Report in Design View..." in the upper right pane titled "Tasks" does open a window with large gray area on the right as described.
Comment 8 Lionel Elie Mamane 2012-07-24 15:32:50 UTC
(In reply to comment #7)
> (In reply to comment #6)
>> In the left part of the window, click reports.

>> Right-click on a report

> Does not list any reports for me

Sorry, confused the original attachment and my local copy of it. Uploading my local copy for good reproduction.
Comment 9 Lionel Elie Mamane 2012-07-24 15:33:44 UTC
Created attachment 64622 [details]
reproduction example
Comment 10 Not Assigned 2012-07-24 15:42:02 UTC
Stephan Bergmann committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=c2617e960e1ff9c132af34b11f2e099f04fb46a3

fdo#52399: Do not needlessly set DefaultContext of global ServiceManager
Comment 11 Not Assigned 2012-07-24 16:13:01 UTC
Stephan Bergmann committed a patch related to this issue.
It has been pushed to "libreoffice-3-6":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=e3f087d9ed753be702503220e1f97a3514d74d62&g=libreoffice-3-6

fdo#52399: Do not needlessly set DefaultContext of global ServiceManager


It will be available in LibreOffice 3.6.1.
Comment 12 Not Assigned 2012-07-24 17:51:18 UTC
Stephan Bergmann committed a patch related to this issue.
It has been pushed to "libreoffice-3-6-0":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=002f9b03c8ccf7ae0dcc346ca6b87454105e3379&g=libreoffice-3-6-0

fdo#52399: Do not needlessly set DefaultContext of global ServiceManager


It will be available already in LibreOffice 3.6.0.
Comment 13 Rainer Bielefeld Retired 2012-07-28 15:43:45 UTC
Fix verified with Server Installation of  "LibreOffice 3.6.0.2 rc  German UI/Locale [Build-ID:  815c576] on German WIN7 Home Premium (64bit)
Comment 14 Rainer Bielefeld Retired 2012-07-28 15:45:48 UTC
Oops:verified with Server Installation of  "LibreOffice 3.6.0.4 rc  German UI/Locale [Build-ID:  932b512] on German WIN7 Home Premium (64bit)
Comment 15 Alex Thurgood 2012-08-22 06:21:36 UTC
Added link to 53527, which seems related to me ?


Alex