[kwin] [Bug 479581] New: Disconnecting external displays leave window out of the laptop screen

2024-01-09 Thread Henry Hu
https://bugs.kde.org/show_bug.cgi?id=479581

Bug ID: 479581
   Summary: Disconnecting external displays leave window out of
the laptop screen
Classification: Plasma
   Product: kwin
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: multi-screen
  Assignee: kwin-bugs-n...@kde.org
  Reporter: henry.hu...@gmail.com
  Target Milestone: ---

SUMMARY
My laptop connects to 2 monitors. When I unplug both, the windows on the right
monitor stays out of the screen.

STEPS TO REPRODUCE
1. Open windows on both external monitors, maximized.
2. Disconnect both external monitors

OBSERVED RESULT
The windows on the right monitor are now out of the screen

EXPECTED RESULT
The windows on the right monitor get moved into the laptop screen

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.107.0
Qt Version: 5.15.10

ADDITIONAL INFORMATION
Laptop: ThinkPad X1 Carbon Gen 9
Graphics processor: Mesa Intel Xe Graphics
Processor: i7-1185G7

My external monitors are 4K at left and 1440p at right. Left one is the main
monitor. When plugged in, I set the laptop screen to be disabled. My laptop
screen is also 4K.

After unplugging, the windows on the right monitor still show up in Alt-Tab,
but when you switch to them, they don't show up. I can manually move them back
using window menu's 'Move' action, but that's cumbersome.
I'm running Plasma with Wayland. In the past I did the same thing with X11, and
this was not an issue.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kwin] [Bug 479581] Disconnecting external displays leave window out of the laptop screen

2024-01-09 Thread Henry Hu
https://bugs.kde.org/show_bug.cgi?id=479581

Henry Hu  changed:

   What|Removed |Added

Version|unspecified |5.27.9

-- 
You are receiving this mail because:
You are watching all bug changes.

[frameworks-kglobalaccel] [Bug 375858] New: kglobalaccel incorrectly grabs keys

2017-02-01 Thread Henry Hu
https://bugs.kde.org/show_bug.cgi?id=375858

Bug ID: 375858
   Summary: kglobalaccel incorrectly grabs keys
   Product: frameworks-kglobalaccel
   Version: unspecified
  Platform: Archlinux Packages
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: general
  Assignee: mgraess...@kde.org
  Reporter: henry.hu...@gmail.com
CC: kdelibs-b...@kde.org
  Target Milestone: ---

To use Win+Left/Right to adjust volume, I have this in .Xmodmap:

keysym Left = Left Left Left XF86AudioLowerVolume
keysym Right = Right Right Right XF86AudioRaiseVolume

However, with this setting, kglobalaccel grabs all the combinations of
modifiers with the left key. This prevents using the left/right key for normal
text input.
I understand that you want volume keys to work with any modifier, but
kglobalaccel should only grab combinations of modifiers which includes the
original modifier, i.e., you should only grab meta + left + (other modifiers).

A workaround is just specifying Meta+Left/Right in Shortcuts setting, but this
does not work across desktop environments.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdelibs] [Bug 168922] crash at startup when language set to Chinese

2017-02-25 Thread Henry Hu
https://bugs.kde.org/show_bug.cgi?id=168922

Henry Hu  changed:

   What|Removed |Added

 Resolution|WAITINGFORINFO  |FIXED
 Status|NEEDSINFO   |RESOLVED

--- Comment #13 from Henry Hu  ---
I just checked on KDE 4.14.10 in a FreeBSD 11-STABLE VM. It works well.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kwin] [Bug 384901] New: kwin_x11 crashes when switching windows

2017-09-20 Thread Henry Hu
https://bugs.kde.org/show_bug.cgi?id=384901

Bug ID: 384901
   Summary: kwin_x11 crashes when switching windows
   Product: kwin
   Version: 5.10.5
  Platform: Archlinux Packages
OS: Linux
Status: UNCONFIRMED
  Keywords: drkonqi
  Severity: crash
  Priority: NOR
 Component: general
  Assignee: kwin-bugs-n...@kde.org
  Reporter: henry.hu...@gmail.com
  Target Milestone: ---

Application: kwin_x11 (5.10.5)

Qt Version: 5.9.1
Frameworks Version: 5.38.0
Operating System: Linux 4.12.13-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
- What I was doing when the application crashed:

I was switching between windows using Alt-Tab.

It crashes with both OpenGL 3.1 and OpenGL 2.0. It does not crash with XRender.

The setup:
1 ATI card (discrete) and 1 intel card (integrated).
3 monitors, 2 connected to the ATI card and 1 connected to the intel card.
Using the modeset driver for both cards.

> xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x86 cap: 0xf, Source Output, Sink Output, Source Offload, Sink
Offload crtcs: 4 outputs: 2 associated providers: 1 name:modesetting
Provider 1: id: 0x44 cap: 0xf, Source Output, Sink Output, Source Offload, Sink
Offload crtcs: 2 outputs: 3 associated providers: 1 name:modesetting

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f836f2af840 (LWP 10853))]

Thread 6 (Thread 0x7f82b8b2f700 (LWP 10955)):
#0  0x7f8367ddc38d in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1  0x7f82ba8a9d1c in  () at /usr/lib/xorg/modules/dri/r600_dri.so
#2  0x7f82ba8a9c28 in  () at /usr/lib/xorg/modules/dri/r600_dri.so
#3  0x7f8367dd608a in start_thread () at /usr/lib/libpthread.so.0
#4  0x7f836ec3f1bf in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7f82b9471700 (LWP 10954)):
#0  0x7f8367ddc38d in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1  0x7f82ba8a9d1c in  () at /usr/lib/xorg/modules/dri/r600_dri.so
#2  0x7f82ba8a9c28 in  () at /usr/lib/xorg/modules/dri/r600_dri.so
#3  0x7f8367dd608a in start_thread () at /usr/lib/libpthread.so.0
#4  0x7f836ec3f1bf in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f8345ccf700 (LWP 10882)):
#0  0x7f8367ddc38d in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1  0x7f836b15eb04 in  () at /usr/lib/libQt5Script.so.5
#2  0x7f836b15eb49 in  () at /usr/lib/libQt5Script.so.5
#3  0x7f8367dd608a in start_thread () at /usr/lib/libpthread.so.0
#4  0x7f836ec3f1bf in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f83470d0700 (LWP 10881)):
#0  0x7f836ec34db6 in ppoll () at /usr/lib/libc.so.6
#1  0x7f836c23eba3 in qt_safe_poll(pollfd*, unsigned long, timespec const*)
() at /usr/lib/libQt5Core.so.5
#2  0x7f836c24033f in
QEventDispatcherUNIX::processEvents(QFlags) ()
at /usr/lib/libQt5Core.so.5
#3  0x7f836c1e6ffb in
QEventLoop::exec(QFlags) () at
/usr/lib/libQt5Core.so.5
#4  0x7f836c00040e in QThread::exec() () at /usr/lib/libQt5Core.so.5
#5  0x7f83668d33d9 in  () at /usr/lib/libQt5Qml.so.5
#6  0x7f836c00515b in  () at /usr/lib/libQt5Core.so.5
#7  0x7f8367dd608a in start_thread () at /usr/lib/libpthread.so.0
#8  0x7f836ec3f1bf in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f834e7e0700 (LWP 10868)):
#0  0x7f836ec34db6 in ppoll () at /usr/lib/libc.so.6
#1  0x7f836c23eba3 in qt_safe_poll(pollfd*, unsigned long, timespec const*)
() at /usr/lib/libQt5Core.so.5
#2  0x7f836c24033f in
QEventDispatcherUNIX::processEvents(QFlags) ()
at /usr/lib/libQt5Core.so.5
#3  0x7f836c1e6ffb in
QEventLoop::exec(QFlags) () at
/usr/lib/libQt5Core.so.5
#4  0x7f836c00040e in QThread::exec() () at /usr/lib/libQt5Core.so.5
#5  0x7f8365a74396 in  () at /usr/lib/libQt5DBus.so.5
#6  0x7f836c00515b in  () at /usr/lib/libQt5Core.so.5
#7  0x7f8367dd608a in start_thread () at /usr/lib/libpthread.so.0
#8  0x7f836ec3f1bf in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f836f2af840 (LWP 10853)):
[KCrash Handler]
#5  0x7f82babea1d4 in  () at /usr/lib/xorg/modules/dri/r600_dri.so
#6  0x7f82ba9ce17c in  () at /usr/lib/xorg/modules/dri/r600_dri.so
#7  0x7f82ba7b16e4 in  () at /usr/lib/xorg/modules/dri/r600_dri.so
#8  0x7f82ba775018 in  () at /usr/lib/xorg/modules/dri/r600_dri.so
#9  0x7f82ba77579f in  () at /usr/lib/xorg/modules/dri/r600_dri.so
#10 0x7f8366f82437 in
QSGBatchRenderer::Renderer::renderMergedBatch(QSGBatchRenderer::Batch const*)
() at /usr/lib/libQt5Quick.so.5
#11 0x7f8366f836d6 in QSGBatchRenderer::Renderer::renderBatches() () at
/usr/lib/libQt5Quick.so.5
#12 0x7f8366f88f66 in QSGBatchRenderer::Renderer::render() () at
/usr/lib/libQt5Quick.

[ksystemstats] [Bug 498373] querying memory/physical/buffer crashes ksystemstats on FreeBSD

2025-01-07 Thread Henry Hu
https://bugs.kde.org/show_bug.cgi?id=498373

--- Comment #2 from Henry Hu  ---
Preparing fixes in
https://invent.kde.org/henryhu/ksystemstats/-/commits/freebsd_mem
The problem is that the code tried to convert a uint64_t to QVariant and sent
it through dbus; however, uint64_t maps to Qt type 'ulong', which is not mapped
for Qt DBus type system (https://doc.qt.io/qt-6/qdbustypesystem.html).
On the other hand, we can use  'unsigned long long', which maps to Qt type
'qulonglong', which maps to DBus type 'uint64', which is what we want.

-- 
You are receiving this mail because:
You are watching all bug changes.

[ksystemstats] [Bug 497536] New: The CPU temperature shown for FreeBSD is wrong

2024-12-15 Thread Henry Hu
https://bugs.kde.org/show_bug.cgi?id=497536

Bug ID: 497536
   Summary: The CPU temperature shown for FreeBSD is wrong
Classification: Frameworks and Libraries
   Product: ksystemstats
   Version: 6.2.3
  Platform: FreeBSD Ports
OS: FreeBSD
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: General
  Assignee: plasma-b...@kde.org
  Reporter: henry.hu...@gmail.com
CC: ahiems...@heimr.nl
  Target Milestone: ---

SUMMARY

The CPU temperature shown for FreeBSD is wrong.
I believe there's a bug in
https://github.com/KDE/ksystemstats/blob/master/plugins/cpu/freebsdcpuplugin.cpp.
Specifically, unlike sysctl like 'dev.cpu.0.freq', which is a simple value
(2100 for example), the temperature leaf is shown like "32.0C", so it' can't be
simply parsed with SysctlSensor class.

STEPS TO REPRODUCE
1. Install plasma 6 (such as 6.2.3)
2. Add 'system monitor' widget to the dock
3. Add 'Max CPU temperature' sensor to the widget

OBSERVED RESULT
CPU temperature shown is extra high; it's reporting 3091C now.

EXPECTED RESULT
A normal CPU temperature, such as 32C

SOFTWARE/OS VERSIONS
FreeBSD 15-CURRENT
KDE Plasma Version:  Plasma 6.2.3
KDE Frameworks Version: KF6 6.9.0
Qt Version: Qt6 6.7.3

ADDITIONAL INFORMATION

-- 
You are receiving this mail because:
You are watching all bug changes.

[ksystemstats] [Bug 497536] The CPU temperature shown for FreeBSD is wrong

2024-12-16 Thread Henry Hu
https://bugs.kde.org/show_bug.cgi?id=497536

--- Comment #1 from Henry Hu  ---
I would like to try to create a patch for this, but I can't even login into
invent.kde.org, although I can log into KDE Identity.

-- 
You are receiving this mail because:
You are watching all bug changes.

[ksystemstats] [Bug 497536] The CPU temperature shown for FreeBSD is wrong

2024-12-18 Thread Henry Hu
https://bugs.kde.org/show_bug.cgi?id=497536

--- Comment #3 from Henry Hu  ---
Created a merge request
(https://invent.kde.org/plasma/ksystemstats/-/merge_requests/99) for this.
It turns out FreeBSD exports CPU temp as deci-Kelvin (see FreeBSD's sysctl code
here:
https://github.com/freebsd/freebsd-src/blob/b762b199afc6ed56ac95ca19c7fc29c2927fa85c/sbin/sysctl/sysctl.c#L1231),
so 32C is exported as (32 + 273.15) * 10 = 3051.5; thus, we need to convert it
back.

-- 
You are receiving this mail because:
You are watching all bug changes.

[ksystemstats] [Bug 498373] New: querying memory/physical/buffer crashes ksystemstats on FreeBSD

2025-01-07 Thread Henry Hu
https://bugs.kde.org/show_bug.cgi?id=498373

Bug ID: 498373
   Summary: querying memory/physical/buffer crashes ksystemstats
on FreeBSD
Classification: Frameworks and Libraries
   Product: ksystemstats
   Version: 6.2.4
  Platform: FreeBSD Ports
OS: FreeBSD
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: General
  Assignee: plasma-b...@kde.org
  Reporter: henry.hu...@gmail.com
CC: ahiems...@heimr.nl
  Target Milestone: ---

SUMMARY

querying memory/physical/buffer crashes ksystemstats on FreeBSD

STEPS TO REPRODUCE
1. run "kstatsviewer memory/physical/buffer"

OBSERVED RESULT

ksystemstats crashes

EXPECTED RESULT

Return the amount of memory used for buffer (FreeBSD shows that in top).

SOFTWARE/OS VERSIONS
FreeBSD/KDE Plasma: FreeBSD 15-CURRENT
KDE Plasma Version: 6.2.4
KDE Frameworks Version: 6.9.0
Qt Version: 6.7.3

ADDITIONAL INFORMATION

I think dbus library called abort(): I see this when it crashed

QDBusMarshaller: type 'ulong' (35) is not registered with D-Bus. Use
qDBusRegisterMetaType to register it
dbus[48596]: Array or variant type requires that type variant be written, but
end_struct was written.
The overall signature expected here was 'a(sv)' and we are on byte 3 of that
signature.

I'll try to debug it. Here's the stack trace:

#7  thr_kill () at thr_kill.S:4
#8  0x00082c820af4 in __raise (s=s@entry=6) at
/usr/src/lib/libc/gen/raise.c:48
#9  0x00082c8d56d9 in abort () at /usr/src/lib/libc/stdlib/abort.c:61
#10 0x00083114c72c in _dbus_abort () from /usr/local/lib/libdbus-1.so.3
#11 0x00083114101c in _dbus_warn_check_failed () from
/usr/local/lib/libdbus-1.so.3
#12 0x00083112c21a in ?? () from /usr/local/lib/libdbus-1.so.3
#13 0x00083112c11d in _dbus_type_writer_unrecurse () from
/usr/local/lib/libdbus-1.so.3
#14 0x000831131989 in dbus_message_iter_close_container () from
/usr/local/lib/libdbus-1.so.3
#15 0x00082370a916 in ?? () from /usr/local/lib/qt6/libQt6DBus.so.6
#16 0x00082370a9ae in ?? () from /usr/local/lib/qt6/libQt6DBus.so.6
#17 0x000823708534 in ?? () from /usr/local/lib/qt6/libQt6DBus.so.6
#18 0x00082373f1db in ?? () from /usr/local/lib/qt6/libQt6DBus.so.6
#19 0x00082371f0f9 in ?? () from /usr/local/lib/qt6/libQt6DBus.so.6
#20 0x0023b886 in Client::sendValues (this=0x2bc99e260450, entries=...)
at /home/henryhu/proj/ksystemstats/src/client.cpp:91
#21 0x0023b5b0 in Client::sendFrame (this=0x2bc99e260450) at
/home/henryhu/proj/ksystemstats/src/client.cpp:76
#22 0x0021d080 in Daemon::sendFrame (this=0x820527680) at
/home/henryhu/proj/ksystemstats/src/daemon.cpp:269
#23 0x00233e9d in QtPrivate::FunctorCall,
QtPrivate::List<>, void, void (Daemon::*)()>::call(void (Daemon::*)(), Daemon*,
void**) (f=(void (Daemon::*)(Daemon * const)) 0x21cfb0 ,
o=0x820527680, arg=0x8205271b0) at
/usr/local/include/qt6/QtCore/qobjectdefs_impl.h:145
#24 0x00233dfd in QtPrivate::FunctionPointer::call, void>(void (Daemon::*)(), Daemon*,
void**) (f=(void (Daemon::*)(Daemon * const)) 0x21cfb0 ,
o=0x820527680, arg=0x8205271b0) at
/usr/local/include/qt6/QtCore/qobjectdefs_impl.h:182
#25 0x00233d26 in QtPrivate::QCallableObject, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*,
void**, bool*) (which=1, this_=0x2bc99e21afc0, r=0x820527680, a=0x8205271b0,
ret=0x0) at /usr/local/include/qt6/QtCore/qobjectdefs_impl.h:553
#26 0x00082a546676 in ?? () from /usr/local/lib/qt6/libQt6Core.so.6
#27 0x00082a557566 in QTimer::timerEvent(QTimerEvent*) () from
/usr/local/lib/qt6/libQt6Core.so.6
#28 0x00082a53a394 in QObject::event(QEvent*) () from
/usr/local/lib/qt6/libQt6Core.so.6
#29 0x00082a4f1864 in QCoreApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/local/lib/qt6/libQt6Core.so.6
#30 0x00082a4f12de in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/local/lib/qt6/libQt6Core.so.6
#31 0x00082a67d15a in QTimerInfoList::activateTimers() () from
/usr/local/lib/qt6/libQt6Core.so.6
#32 0x00082a76a09d in ?? () from /usr/local/lib/qt6/libQt6Core.so.6
#33 0x000832e9534b in ?? () from /usr/local/lib/libglib-2.0.so.0
#34 0x000832e95716 in ?? () from /usr/local/lib/libglib-2.0.so.0
#35 0x000832e957b6 in g_main_context_iteration () from
/usr/local/lib/libglib-2.0.so.0
#36 0x00082a76979e in
QEventDispatcherGlib::processEvents(QFlags) ()
from /usr/local/lib/qt6/libQt6Core.so.6
#37 0x00082a4fac16 in
QEventLoop::exec(QFlags) () from
/usr/local/lib/qt6/libQt6Core.so.6
#38 0x00082a4f1ac4 in QCoreApplication::exec() () from
/usr/local/lib/qt6/libQt6Core.so.6
#39 0x0021c58b in main (argc=1, argv=0x8205279f0) at
/home/henryhu/proj/ksystemstats/src/main.cpp:39
[Inferior 1 (process 16823) detached]

-- 
You are receiving this mail because:
You are watching all bug changes.

[ksystemstats] [Bug 498373] querying memory/physical/buffer crashes ksystemstats on FreeBSD

2025-01-07 Thread Henry Hu
https://bugs.kde.org/show_bug.cgi?id=498373

--- Comment #1 from Henry Hu  ---
I think the 'application' memory is also wrong. This is traced to an integer
overflow: it's computed with (inactive pages + active pages) * page_size; page
counts are in uint32_t, but we need to do the computation in uint64_t at least.

-- 
You are receiving this mail because:
You are watching all bug changes.

[dolphin] [Bug 361105] Dolphin Crash After Changing Directory

2016-06-13 Thread Henry Hu via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=361105

Henry Hu  changed:

   What|Removed |Added

 CC||henry.hu...@gmail.com

--- Comment #1 from Henry Hu  ---
This also happens for me, with Qt 5.5.1, dolphin 16.04.1, kde frameworks
5.22.0. I've investigated the bug a little. The direct cause of the crash is
calling FD_SET with a large fd (>FD_SETSIZE, which defaults to 1024). This
causes an out-of-bound access and modifies data on the stack, which leads to
the crash. According to the man page, this behavior is undefined.
There are 2 places. First in QProcess (qprocess_unix.cpp,
QProcessPrivate::waitForFinished). Another in QNativeSocketEngine
(qnativesocketengine_unix.cpp, QNativeSocketEngine::nativeSelect). Both places
can have out-of-bound access.
The real reason is that dolphin is using large number of file descriptors. I
tried to increase FD_SETSIZE to 4096, but after some extensive usage of
dolphin, the file descriptor count still grows past it.
In Qt 5.7 the select is replaced with poll, which should fix this problem. But
the real problem is still there, dolphin should not open large number of files
at the same time.

-- 
You are receiving this mail because:
You are watching all bug changes.