By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.
Bug 1334 - KControl Monitor & Display module crash
Summary: KControl Monitor & Display module crash
Status: RESOLVED FIXED
Alias: None
Product: TDE
Classification: Unclassified
Component: tdebase (show other bugs)
Version: R14.0.0 [Trinity]
Hardware: Other Linux
: P5 major
Assignee: Timothy Pearson
URL:
: 1353 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-11-22 09:02 CST by Kris
Modified: 2013-05-15 12:48 CDT (History)
7 users (show)

See Also:
Compiler Version:
TDE Version String:
Application Version:
Application Name:


Attachments
Debugger output pertaining to this bug (3.63 KB, text/plain)
2012-11-22 21:50 CST, Kris
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kris 2012-11-22 09:02:48 CST
I am trying to configure dual-head on my laptop via KControl -> System Administration -> Monitor & Display. Whenever I go to apply my changes on any tab, or click "Test Settings" on the Resolution and Layout tab, the KControl module crashes. KControl itself remains open, but resets to the summary page for System Administration. It does apply the changed settings, and it saves them, but then I have to re-click the Monitor & Display button and re-enter my root password for administration mode.

The crash handler was unable to produce a valid backtrace, with the message:

=======================================
This backtrace appears to be of no use.
This is probably because your packages are built in a way which prevents creation of proper backtraces, or the stack frame was seriously corrupted in the crash.
=======================================

As far as I can tell, I have the needed -dbg packages installed for every component of TDE I have installed, so I doubt this is the problem (unless the -dbg packages are corrupt somehow).
Comment 1 Alexander Golubev (Fat-Zer) 2012-11-22 09:16:28 CST
(In reply to comment #0)
> I am trying to configure dual-head on my laptop via KControl -> System
> Administration -> Monitor & Display. Whenever I go to apply my changes on any
> tab, or click "Test Settings" on the Resolution and Layout tab, the KControl
> module crashes. KControl itself remains open, but resets to the summary page
> for System Administration. It does apply the changed settings, and it saves
> them, but then I have to re-click the Monitor & Display button and re-enter my
> root password for administration mode.
> 
> The crash handler was unable to produce a valid backtrace, with the message:
> 
> =======================================
> This backtrace appears to be of no use.
> This is probably because your packages are built in a way which prevents
> creation of proper backtraces, or the stack frame was seriously corrupted in
> the crash.
> =======================================
> 
> As far as I can tell, I have the needed -dbg packages installed for every
> component of TDE I have installed, so I doubt this is the problem (unless the
> -dbg packages are corrupt somehow).

Seems kcrash is broken or a sort of it. I can't confirm it but I've been unable to get backtrace from it either. 

You can use gdb for it: 
1) run in terminal: gdb kcontrol
2) type in gdb commands:
set follow-fork-mode child
set detach-on-fork off
run
3) make it crash
4) type in gdb: bt
Comment 2 Darrell 2012-11-22 09:57:01 CST
From the command line or mini-cli (Alt F2) run crashtest. That executable is intended to test crash handling and backtraces. :)
Comment 3 Kris 2012-11-22 12:29:26 CST
(In reply to comment #1)
> (In reply to comment #0)
> > I am trying to configure dual-head on my laptop via KControl -> System
> > Administration -> Monitor & Display. Whenever I go to apply my changes on any
> > tab, or click "Test Settings" on the Resolution and Layout tab, the KControl
> > module crashes. KControl itself remains open, but resets to the summary page
> > for System Administration. It does apply the changed settings, and it saves
> > them, but then I have to re-click the Monitor & Display button and re-enter my
> > root password for administration mode.
> > 
> > The crash handler was unable to produce a valid backtrace, with the message:
> > 
> > =======================================
> > This backtrace appears to be of no use.
> > This is probably because your packages are built in a way which prevents
> > creation of proper backtraces, or the stack frame was seriously corrupted in
> > the crash.
> > =======================================
> > 
> > As far as I can tell, I have the needed -dbg packages installed for every
> > component of TDE I have installed, so I doubt this is the problem (unless the
> > -dbg packages are corrupt somehow).
> 
> Seems kcrash is broken or a sort of it. I can't confirm it but I've been unable
> to get backtrace from it either. 
> 
> You can use gdb for it: 
> 1) run in terminal: gdb kcontrol
> 2) type in gdb commands:
> set follow-fork-mode child
> set detach-on-fork off
> run
> 3) make it crash
> 4) type in gdb: bt

That seems to be interfering with it's ability to call tdesu when I try to enter administrative mode -- the module blanks and is solid grey, and Kcontrol freezes without ever producing a crash. The only way to get rid of it is to kill it via TDE System Guard, or by telling gdb to quit.
Comment 4 Kris 2012-11-22 12:30:20 CST
(In reply to comment #2)
> From the command line or mini-cli (Alt F2) run crashtest. That executable is
> intended to test crash handling and backtraces. :)

crashtest is non-existent on my system, regardless of whether I'm root or normal user.
Comment 5 Darrell 2012-11-22 13:23:33 CST
> crashtest is non-existent on my system, regardless of whether I'm root or normal user.

Then your version of tdebase was built with -DBUILD_CRASHTEST=OFF. You might want to mention that to whomever created your packages. :0
Comment 6 Kris 2012-11-22 14:45:16 CST
(In reply to comment #5)
> > crashtest is non-existent on my system, regardless of whether I'm root or normal user.
> 
> Then your version of tdebase was built with -DBUILD_CRASHTEST=OFF. You might
> want to mention that to whomever created your packages. :0

Am I right in assuming it's Tim who maintains the Debian nightlies?
Comment 7 Timothy Pearson 2012-11-22 15:21:02 CST
(In reply to comment #6)
> (In reply to comment #5)
> > > crashtest is non-existent on my system, regardless of whether I'm root or normal user.
> > 
> > Then your version of tdebase was built with -DBUILD_CRASHTEST=OFF. You might
> > want to mention that to whomever created your packages. :0
> 
> Am I right in assuming it's Tim who maintains the Debian nightlies?

Yes, your assumption is correct.

In this case, however, all you need to do is:
sudo gdb --arg kcmshell.real displayconfig

That will start the displayconfig module as root under a GDB session and allow you to grab a backtrace.

Regarding the kcrash failure, I don't know if newer Ubuntu kernels even allow you to grab a backtrace of a program running under sudo.
Comment 8 Darrell 2012-11-22 15:43:33 CST
Yes. Here is the build script:

http://git.trinitydesktop.org/cgit/tde-packaging/tree/ubuntu/precise/tdebase/debian/rules

In the tdebase CMakeLists.txt, BUILD_CRASHTEST defaults to $BUILD_ALL and BUILD_ALL defaults to OFF. Therefore to build crashtest requires explicitly declaring BUILD_CRASHTEST=ON.
Comment 9 Kris 2012-11-22 17:59:31 CST
(In reply to comment #7)
> (In reply to comment #6)
> > (In reply to comment #5)
> > > > crashtest is non-existent on my system, regardless of whether I'm root or normal user.
> > > 
> > > Then your version of tdebase was built with -DBUILD_CRASHTEST=OFF. You might
> > > want to mention that to whomever created your packages. :0
> > 
> > Am I right in assuming it's Tim who maintains the Debian nightlies?
> 
> Yes, your assumption is correct.
> 
> In this case, however, all you need to do is:
> sudo gdb --arg kcmshell.real displayconfig
> 
> That will start the displayconfig module as root under a GDB session and allow
> you to grab a backtrace.
> 
> Regarding the kcrash failure, I don't know if newer Ubuntu kernels even allow
> you to grab a backtrace of a program running under sudo.

I don't use Ubuntu, nor am I a fan of sudo, so tying to sudo gdb isn't going to work on my system.

Trying it via tdesu and su -c (both in Konsole) doesn't work -- tdesu just hangs, and going through su -c gives the following error (after the gdb license):

------------------------------------
kcmshell.real: No such file or directory.
(gdb) set follow-fork-mode child
(gdb) set detach-on-fork off
(gdb) run
Starting program:  displayconfig
No executable file specified.
Use the "file" or "exec-file" command.
(gdb) quit
------------------------------------
Comment 10 Timothy Pearson 2012-11-22 18:32:52 CST
(In reply to comment #9)
> (In reply to comment #7)
> > (In reply to comment #6)
> > > (In reply to comment #5)
> > > > > crashtest is non-existent on my system, regardless of whether I'm root or normal user.
> > > > 
> > > > Then your version of tdebase was built with -DBUILD_CRASHTEST=OFF. You might
> > > > want to mention that to whomever created your packages. :0
> > > 
> > > Am I right in assuming it's Tim who maintains the Debian nightlies?
> > 
> > Yes, your assumption is correct.
> > 
> > In this case, however, all you need to do is:
> > sudo gdb --arg kcmshell.real displayconfig
> > 
> > That will start the displayconfig module as root under a GDB session and allow
> > you to grab a backtrace.
> > 
> > Regarding the kcrash failure, I don't know if newer Ubuntu kernels even allow
> > you to grab a backtrace of a program running under sudo.
> 
> I don't use Ubuntu, nor am I a fan of sudo, so tying to sudo gdb isn't going to
> work on my system.
> 
> Trying it via tdesu and su -c (both in Konsole) doesn't work -- tdesu just
> hangs, and going through su -c gives the following error (after the gdb
> license):
> 
> ------------------------------------
> kcmshell.real: No such file or directory.
> (gdb) set follow-fork-mode child
> (gdb) set detach-on-fork off
> (gdb) run
> Starting program:  displayconfig
> No executable file specified.
> Use the "file" or "exec-file" command.
> (gdb) quit
> ------------------------------------
If you are not using Ubuntu try kcmshell instead of kcmshell.real.

Tim
Comment 11 Kris 2012-11-22 19:33:12 CST
(In reply to comment #10)
> (In reply to comment #9)
> > (In reply to comment #7)
> > > (In reply to comment #6)
> > > > (In reply to comment #5)
> > > > > > crashtest is non-existent on my system, regardless of whether I'm root or normal user.
> > > > > 
> > > > > Then your version of tdebase was built with -DBUILD_CRASHTEST=OFF. You might
> > > > > want to mention that to whomever created your packages. :0
> > > > 
> > > > Am I right in assuming it's Tim who maintains the Debian nightlies?
> > > 
> > > Yes, your assumption is correct.
> > > 
> > > In this case, however, all you need to do is:
> > > sudo gdb --arg kcmshell.real displayconfig
> > > 
> > > That will start the displayconfig module as root under a GDB session and allow
> > > you to grab a backtrace.
> > > 
> > > Regarding the kcrash failure, I don't know if newer Ubuntu kernels even allow
> > > you to grab a backtrace of a program running under sudo.
> > 
> > I don't use Ubuntu, nor am I a fan of sudo, so tying to sudo gdb isn't going to
> > work on my system.
> > 
> > Trying it via tdesu and su -c (both in Konsole) doesn't work -- tdesu just
> > hangs, and going through su -c gives the following error (after the gdb
> > license):
> > 
> > ------------------------------------
> > kcmshell.real: No such file or directory.
> > (gdb) set follow-fork-mode child
> > (gdb) set detach-on-fork off
> > (gdb) run
> > Starting program:  displayconfig
> > No executable file specified.
> > Use the "file" or "exec-file" command.
> > (gdb) quit
> > ------------------------------------
> If you are not using Ubuntu try kcmshell instead of kcmshell.real.
> 
> Tim

It still will not work, even though I know for fact that kcmshell exists in /opt/trinity/bin .

It appears that "su -c" will not pick up on kcmshell, even though I know I have /opt/trinity/bin in both my and root's PATH, as per the ~/.profile file.

Running directly as root seems to make it unable to connect the display being used by Xorg.
Comment 12 Alexander Golubev (Fat-Zer) 2012-11-22 21:29:11 CST
(In reply to comment #11)
> It still will not work, even though I know for fact that kcmshell exists in
> /opt/trinity/bin .
> 
> It appears that "su -c" will not pick up on kcmshell, even though I know I have
> /opt/trinity/bin in both my and root's PATH, as per the ~/.profile file.
> 
> Running directly as root seems to make it unable to connect the display being
> used by Xorg.
just enable local connections to xorg:
1. xhost +local:
2. su
3. export DISPLAY=':0' # or whatever
3. run gdb etc
Comment 13 Kris 2012-11-22 21:45:23 CST
(In reply to comment #12)
> (In reply to comment #11)
> > It still will not work, even though I know for fact that kcmshell exists in
> > /opt/trinity/bin .
> > 
> > It appears that "su -c" will not pick up on kcmshell, even though I know I have
> > /opt/trinity/bin in both my and root's PATH, as per the ~/.profile file.
> > 
> > Running directly as root seems to make it unable to connect the display being
> > used by Xorg.
> just enable local connections to xorg:
> 1. xhost +local:
> 2. su
> 3. export DISPLAY=':0' # or whatever
> 3. run gdb etc

I wasn't aware I could do that. Thanks :-)

The Kcontrol module refused to appear until AFTER I quit gdb. However, it does seem to have enabled the TDE Crash Handler to produce the needed debugger output, which I will be attaching.
Comment 14 Kris 2012-11-22 21:50:48 CST
Created attachment 1014 [details]
Debugger output pertaining to this bug
Comment 15 Timothy Pearson 2012-11-22 22:54:59 CST
(In reply to comment #14)
> Created attachment 1014 [details]
> Debugger output pertaining to this bug

Fix pushed to GIT in hash 1d811a9.  Nightly builds with this patch included should be available in the next few days; please test at that point and report back.
Comment 16 Slávek Banko 2013-01-05 20:47:53 CST
Kris,

can you confirm, if problem is solved?

Thanks
Comment 17 Kris 2013-01-06 19:08:30 CST
(In reply to comment #16)
> Kris,
> 
> can you confirm, if problem is solved?
> 
> Thanks

Currently, I am unable to test.

Once I have the essentials setup on my new laptop, I will be able to resume testing and see if this bug is fixed.
Comment 18 Kris 2013-02-16 10:49:35 CST
I finally got around to testing on my old laptop running Debian Squeeze. It has been fully dist-upgrade'ed and running the latest nightlies as of today.

It seems to be fixed. I managed to successfully enable dual-head without the module crashing, though I had to do it twice -- the dialog to confirm, and KControl, both appeared on the second monitor when I clicked Apply, and it's an old CRT that takes a few seconds to light up by which time the timeout on the confirmation is about to run out.
Comment 19 Slávek Banko 2013-05-15 12:48:19 CDT
*** Bug 1353 has been marked as a duplicate of this bug. ***