Bug 467980 - Kdevelop hanged afer run using CLI
Summary: Kdevelop hanged afer run using CLI
Status: REPORTED
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2023-03-30 18:23 UTC by Marek Witkowski
Modified: 2023-03-31 16:32 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
kdevelop process with GDB and printing the backtrace of all threads (17.44 KB, text/plain)
2023-03-31 16:22 UTC, Marek Witkowski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marek Witkowski 2023-03-30 18:23:34 UTC
Application: kdevelop (5.10.221203 (22.12.3))

Qt Version: 5.15.8
Frameworks Version: 5.104.0
Operating System: Linux 6.2.8-1-default x86_64
Windowing System: Wayland
Distribution: openSUSE Tumbleweed
DrKonqi: 5.27.3 [KCrashBackend]

-- Information about the crash:
After run kdevelop using CLI:

: kdevelop . 

application started but has stoped and hanged.

info from terminal:

kf.kio.core: Malformed JSON protocol file for protocol: "trash" , number of the ExtraNames fields should match the number of ExtraTypes fields
kf.kio.core: Malformed JSON protocol file for protocol: "trash" , number of the ExtraNames fields should match the number of ExtraTypes fields
kf.kio.workers.file: copy() QUrl("file:///home/marekwu/Pobrane/Pobrane.kdev4") to QUrl("file:///tmp/kdevelop.NmZZKK") mode= -1
kf.kio.workers.file: the file doesn't have any xattr
QAbstractItemModel::endInsertRows:  Invalid index ( 2 , 0 ) in model QSortFilterProxyModel(0x55a1f1f2aa60)
QAbstractItemModel::endInsertRows:  Invalid index ( 3 , 0 ) in model QSortFilterProxyModel(0x55a1f1f2aa60)
QAbstractItemModel::endInsertRows:  Invalid index ( 2 , 0 ) in model QSortFilterProxyModel(0x55a1f1f2aa60)
QAbstractItemModel::endInsertRows:  Invalid index ( 2 , 0 ) in model QSortFilterProxyModel(0x55a1f1f2aa60)

The crash can be reproduced every time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f65dc733dda in KDevelop::ProjectController::openProjectForUrl (this=0x5596c462b4c0, sourceUrl=...) at /usr/src/debug/kdevelop-22.12.3/kdevplatform/shell/projectcontroller.cpp:795
#5  0x00005596c2c1b5eb in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdevelop-22.12.3/app/main.cpp:830
[Inferior 1 (process 2516) detached]

Reported using DrKonqi
Comment 1 Igor Kushnir 2023-03-31 06:49:46 UTC
Try opening another session or a new session: `kdevelop -n test-session`.

The backtrace is too short. Have you tried attaching to the hanging kdevelop process with GDB and printing the backtrace of all threads?
gdb -batch -ex "thread apply all bt" -ex "quit" -p 12345 > /some/path/hanging-kdevelop.bt
("12345" in the command stands for the hanging kdevelop process ID)
If you get the `ptrace: Operation not permitted.` error, run the following command before repeating the gdb command:
echo  0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
(you can revert the configuration change with `echo  1 | sudo tee /proc/sys/kernel/yama/ptrace_scope`)
Comment 2 Marek Witkowski 2023-03-31 16:22:13 UTC
Created attachment 157744 [details]
kdevelop process with GDB and printing the backtrace of all threads

kdevelop process with GDB and printing the backtrace of all threads

after: gdb -batch -ex "thread apply all bt" -ex "quit" -p 12345 > /some/path/hanging-kdevelop.bt
Comment 3 Marek Witkowski 2023-03-31 16:23:17 UTC
(In reply to Igor Kushnir from comment #1)
> Try opening another session or a new session: `kdevelop -n test-session`.
> 
> The backtrace is too short. Have you tried attaching to the hanging kdevelop
> process with GDB and printing the backtrace of all threads?
> gdb -batch -ex "thread apply all bt" -ex "quit" -p 12345 >
> /some/path/hanging-kdevelop.bt
> ("12345" in the command stands for the hanging kdevelop process ID)
> If you get the `ptrace: Operation not permitted.` error, run the following
> command before repeating the gdb command:
> echo  0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
> (you can revert the configuration change with `echo  1 | sudo tee
> /proc/sys/kernel/yama/ptrace_scope`)

After  `kdevelop -n test-session` works fine.
Comment 4 Igor Kushnir 2023-03-31 16:32:40 UTC
(In reply to Marek Witkowski from comment #2)
> Created attachment 157744 [details]
> kdevelop process with GDB and printing the backtrace of all threads
QTimerInfoList::unregisterTimer(int) is unlikely to hang. Could you run the gdb -batch command several times on a single hanging kdevelop process to compare backtraces and maybe figure out where the process is stuck?