Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 45658 - x11-libs/qt-3.3.0-r1 - uic causes access violations
Summary: x11-libs/qt-3.3.0-r1 - uic causes access violations
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All All
: Highest blocker (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 29889 40503 47967 47975
  Show dependency tree
 
Reported: 2004-03-24 16:39 UTC by Jeremy Huddleston (RETIRED)
Modified: 2004-04-22 18:06 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-24 16:39:34 UTC
check out bug #29889 for a reference
Additionally, try emerging media-sound/bpmdj-2.0.1

I believe these bugs are relevant as well #37997, #39572

You closed #39572 stating that the sandbox problem was fixed, but I don't see a new version of qt, anc the ChangeLog doesn't note the fix.  Did you forget to commit?

Setting blocker as this version of qt breaks portage QA.
Comment 1 Caleb Tennis (RETIRED) gentoo-dev 2004-03-25 04:00:13 UTC
I don't know of anyway to reconfigure the uic to not exhibit this behavior.  The only fix is putting addwrites in the ebuilds affected, unless you have another idea?
Comment 2 Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-25 11:07:13 UTC
uic's source should be modified to use a safe location such as /var/tmp/

I think it is unreasonable to expect addwrites in evert qt-dependant ebuild that didn't require them before this version.  I would say it would be reasonable for new packages, but this breaks QA with currently existing packages...

Another option could be to throw /usr/qt/*/etc/settings into the default read/write/predict in ebuild.sh.
Comment 3 Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-25 21:58:34 UTC
The problem appears to be in QSettings::sync()... I'm debugging this now, and hopefully I'll get you a patch later tonight:

QSettings::sync: failed to open '/usr/qt/3/etc/settings/qt_plugins_3.3rc.tmp' for writing
Comment 4 Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-25 23:22:02 UTC
ok... this isn't a great fix, but it'll have to do for now...

at line 936 of src/tools/qsettings.cpp:
    if (! d->modified)
        // fake success
        return TRUE;

change it to:
    if ((! d->modified) || (strcmp(getenv("SANDBOX_ON"), "1") == 0))
        // fake success
        return TRUE;

You need #include <stdlib.h> at the top, too...

The real fix should be in finding out why d->modified gets set to true when all uic calls is:
    QSettings config;
    config.insertSearchPath( QSettings::Windows, "/Trolltech" );
    QStringList pluginPaths = config.readListEntry( keybase + "PluginPaths" );

Sorry I don't have any more time to look into this in more detail...
Comment 5 Caleb Tennis (RETIRED) gentoo-dev 2004-03-26 04:03:15 UTC
I believe it's also possible to override QSettings using the SYSCONF variable, but don't hold me to that.
Comment 6 Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-26 07:58:33 UTC
the problem is that will override the settings directory everywhere... whereas we just don't want to write to it here...
Comment 7 Vladimir 2004-03-29 09:45:54 UTC
emerge dev-db/tora-1.3.12 failes with the following messages:
-----------ACCESS VIOLATION-------------
open_wr:   /usr/qt/3/etc/settings/.qt_plugins_3.3rc.lock
open_wr:   /usr/qt/3/etc/settings/.qt_plugins_3.3rc.lock
...
open_wr:   /usr/qt/3/etc/settings/.qt_plugins_3.3rc.lock

may this be caused by this bug?
Comment 8 Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-30 09:32:30 UTC
Actually, the conditional should be:

if ((! d->modified) || 
    (getenv("SANDBOX_ON") && (strcmp(getenv("SANDBOX_ON"), "1") == 0)))
Comment 9 Caleb Tennis (RETIRED) gentoo-dev 2004-04-22 17:30:32 UTC
as a followup comment, ebuilds that use the "need-qt" function should get the addwrite set for them automatically.
Comment 10 Jeremy Huddleston (RETIRED) gentoo-dev 2004-04-22 18:06:02 UTC
alright... I believe that is sufficient... I'm going to close this, since I'm the reporter... but if someone has a better solution than that, please feel free to reopen...