Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2019-02

IDE unstable - Online Package manager bug

13 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Michael Van Canneyt

Hello,

I find that the IDE has become very unstable lately. I didn't install any new packages, didn't update FPC (still on FPC 3.0.4). Just updated lazarus from SVN.

4 out of 5 attempts to close the IDE using the window manager button fails: lazarus hangs and I must kill it using
killall -KILL lazarus
from a terminal.

It's very reproducible.

Start lazarus
Open package
Compile package
Switch to form editor of start project
Close (window manager or menu file - exit)
-> hang

I can attach to it using gdb. Here is the stack trace:

0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 #1 0x000000000044f306 in INTRTLEVENTWAITFORTIMEOUT (AEVENT=0x7f460e943040, TIMEOUT=100) at ../unix/cthreads.pp:973 #2 0x000000000043f66f in RTLEVENTWAITFOR (STATE=0x7f460e943040, TIMEOUT=100) at ../inc/thread.inc:325 #3 0x000000000052fc3c in CHECKSYNCHRONIZE (TIMEOUT=100) at ../objpas/classes/classes.inc:395 #4 0x000000000199177a in DOONIDECLOSE (this=0x7f45fff9ba80, SENDER=0x7f46057bfdb0) at opkman_intf.pas:125 #5 0x00000000006a30c7 in CALLNOTIFYEVENTS (this=0x7f45f4c6d440, SENDER=0x7f46057bfdb0) at lazmethodlist.pas:315 #6 0x00000000009749f5 in DOCALLNOTIFYHANDLER (this=0x7f46057bfdb0, HANDLERTYPE=LIHTIDECLOSE) at lazideintf.pas:659 #7 0x00000000004ad026 in MAINIDEFORMCLOSE (this=0x7f46057bfdb0, SENDER=0x7f45f73f98f0, CLOSEACTION=CAFREE) at main.pp:2058 #8 0x0000000000487698 in DOCLOSE (this=0x7f45f73f98f0, CLOSEACTION=CAFREE) at include/customform.inc:959 #9 0x000000000048af81 in CLOSE (this=0x7f45f73f98f0) at include/customform.inc:2196 #10 0x00000000004c1afd in QUITIDE (this=0x7f46057bfdb0) at main.pp:6622 #11 0x00000000004b50dd in MNUQUITCLICKED (this=0x7f46057bfdb0, SENDER=0x7f45f7e9cfc0) at main.pp:3655 #12 0x000000000096f40f in MENUITEMCLICK (this=0x7f45f7e9cfc0, SENDER=0x7f45fff05d40) at menuintf.pas:544 #13 0x00000000009733b1 in MENUITEMCLICK (this=0x7f45f7e9cfc0, SENDER=0x7f45fff05d40) at menuintf.pas:1695

Seems a bug in the online package manager. Who said once that threads are evil ? :)

For now I uninstalled the online package manager, but a fix would be really appreciated :-)

Michael.

Reply by email

Martin Frb
to Michael Van Canneyt

Laz 2.1 trunk, or 2.0.1 fixes?

Can you attach a list of all threads, and traces of other threads please?

Michael Van Canneyt wrote 60 lines
Hello, I find that the IDE has become very unstable lately. I didn't install any new packages, didn't update FPC (still on FPC 3.0.4). Just updated lazarus from SVN. 4 out of 5 attempts to close the IDE using the window manager button fails: lazarus hangs and I must kill it using killall -KILL lazarus from a terminal. It's very reproducible. Start lazarus Open package Compile package Switch to form editor of start project Close (window manager or menu file - exit) -> hang I can attach to it using gdb. Here is the stack trace: 0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 #1  0x000000000044f306 in INTRTLEVENTWAITFORTIMEOUT (AEVENT=0x7f460e943040, TIMEOUT=100) at ../unix/cthreads.pp:973 #2  0x000000000043f66f in RTLEVENTWAITFOR (STATE=0x7f460e943040, TIMEOUT=100) at ../inc/thread.inc:325 #3  0x000000000052fc3c in CHECKSYNCHRONIZE (TIMEOUT=100) at ../objpas/classes/classes.inc:395 #4  0x000000000199177a in DOONIDECLOSE (this=0x7f45fff9ba80, SENDER=0x7f46057bfdb0) at opkman_intf.pas:125 #5  0x00000000006a30c7 in CALLNOTIFYEVENTS (this=0x7f45f4c6d440, SENDER=0x7f46057bfdb0) at lazmethodlist.pas:315 #6  0x00000000009749f5 in DOCALLNOTIFYHANDLER (this=0x7f46057bfdb0, HANDLERTYPE=LIHTIDECLOSE) at lazideintf.pas:659 #7  0x00000000004ad026 in MAINIDEFORMCLOSE (this=0x7f46057bfdb0, SENDER=0x7f45f73f98f0, CLOSEACTION=CAFREE) at main.pp:2058 #8  0x0000000000487698 in DOCLOSE (this=0x7f45f73f98f0, CLOSEACTION=CAFREE) at include/customform.inc:959 #9  0x000000000048af81 in CLOSE (this=0x7f45f73f98f0) at include/customform.inc:2196 #10 0x00000000004c1afd in QUITIDE (this=0x7f46057bfdb0) at main.pp:6622 #11 0x00000000004b50dd in MNUQUITCLICKED (this=0x7f46057bfdb0, SENDER=0x7f45f7e9cfc0) at main.pp:3655 #12 0x000000000096f40f in MENUITEMCLICK (this=0x7f45f7e9cfc0, SENDER=0x7f45fff05d40) at menuintf.pas:544 #13 0x00000000009733b1 in MENUITEMCLICK (this=0x7f45f7e9cfc0, SENDER=0x7f45fff05d40) at menuintf.pas:1695 Seems a bug in the online package manager. Who said once that threads are evil ? :) For now I uninstalled the online package manager, but a fix would be really appreciated :-) Michael.

Reply by email

Michael Van Canneyt
to Martin Frb
Martin Frb wrote 18 lines
On 24/02/2019 14:06, Michael Van Canneyt via lazarus wrote: > > >> Can you attach a list of all threads, and traces of other threads >> please? > > How am I supposed to do that ? once attached info threads and for each thread t 1 bt t 2 bt

Threads 1 and 4 are interesting:

One is Main thread.
4 is package manager thread.

Seems that the thread is waiting for result of an HTTPS request

Michael.

----------------------------

t 1
bt

Reading in symbols for lazarus.pp...const value length mismatch for 'REVISIONSTR', got 6, expected 256...done. #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 #1 0x000000000044f306 in INTRTLEVENTWAITFORTIMEOUT (AEVENT=0x7fa3160ea040, TIMEOUT=100) at ../unix/cthreads.pp:973 #2 0x000000000043f66f in RTLEVENTWAITFOR (STATE=0x7fa3160ea040, TIMEOUT=100) at ../inc/thread.inc:325 #3 0x000000000052fc3c in CHECKSYNCHRONIZE (TIMEOUT=100) at ../objpas/classes/classes.inc:395 #4 0x0000000001995f6a in DOONIDECLOSE (this=0x7fa307742a80, SENDER=0x7fa30a0fc630) at opkman_intf.pas:125 #5 0x00000000006a30c7 in CALLNOTIFYEVENTS (this=0x7fa2fc650100, SENDER=0x7fa30a0fc630) at lazmethodlist.pas:315 #6 0x00000000009749f5 in DOCALLNOTIFYHANDLER (this=0x7fa30a0fc630, HANDLERTYPE=LIHTIDECLOSE) at lazideintf.pas:659 #7 0x00000000004ad026 in MAINIDEFORMCLOSE (this=0x7fa30a0fc630, SENDER=0x7fa3064e6df0, CLOSEACTION=CAFREE) at main.pp:2058 #8 0x0000000000487698 in DOCLOSE (this=0x7fa3064e6df0, CLOSEACTION=CAFREE) at include/customform.inc:959 #9 0x000000000048af81 in CLOSE (this=0x7fa3064e6df0) at include/customform.inc:2196 #10 0x000000000048b1ed in WMCLOSEQUERY (this=0x7fa3064e6df0, MESSAGE=...) at include/customform.inc:2276 #11 0x0000000000436812 in DISPATCH (this=0x7fa3064e6df0, MESSAGE=0) at ../inc/objpas.inc:602 #12 0x00000000005bfe9d in WNDPROC (this=0x7fa3064e6df0, THEMESSAGE=...) at include/control.inc:2242 #13 0x00000000005b2a2c in WNDPROC (this=0x7fa3064e6df0, MESSAGE=...) at include/wincontrol.inc:5419 #14 0x0000000000488bde in WNDPROC (this=0x7fa3064e6df0, THEMESSAGE=...) at include/customform.inc:1477 #15 0x0000000000c8ea41 in WNDPROC (this=0x7fa3064e6df0, MESSAGE=...) at mainbar.pas:551 #16 0x000000000078bf6c in DELIVERMESSAGE (TARGET=0x7fa3064e6df0, AMESSAGE=0) at lclmessageglue.pas:112 #17 0x000000000067f271 in DELIVERMESSAGE (TARGET=0x7fa3064e6df0, AMESSAGE=0) at gtk2/gtk2proc.inc:3780 #18 0x000000000068c604 in GTKDELETECB (WIDGET=0x4b87380, EVENT=0x5413590, DATA=0x7fa3064e6df0) at gtk2/gtk2callback.inc:1230 #19 0x00007fa314e05aec in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #20 0x00007fa314a8ffa5 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #21 0x00007fa314aa1fc1 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #22 0x00007fa314aaa7f9 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #23 0x00007fa314aab08f in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #24 0x00007fa314f1d93c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #25 0x00007fa314e0484d in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #26 0x00007fa3158d4c8c in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 #27 0x00007fa3147b9197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #28 0x00007fa3147b93f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #29 0x00007fa3147b949c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #30 0x00000000004fbf81 in APPWAITMESSAGE (this=0x7fa3160f3230) at gtk2/gtk2widgetset.inc:2431 #31 0x0000000000492a0a in IDLE (this=0x7fa3160f2bf0, WAIT=true) at include/application.inc:414 #32 0x0000000000494d38 in HANDLEMESSAGE (this=0x7fa3160f2bf0) at include/application.inc:1283 #33 0x000000000049526c in RUNLOOP (this=0x7fa3160f2bf0) at include/application.inc:1419 #34 0x000000000066a826 in APPRUN (this=0x7fa3160f3230, ALOOP=...) at include/interfacebase.inc:54 #35 0x0000000000495210 in RUN (this=0x7fa3160f2bf0) at include/application.inc:1407 #36 0x00000000004203d3 in main () at lazarus.pp:153

(gdb) t 2
[Switching to thread 2 (Thread 0x7fa30512d700 (LWP 9831))] incomplete CFI data; unspecified registers (e.g., rax) at 0x7fa313708760...incomplete CFI data; unspecified registers (e.g., rdx) at 0x7fa313708760...incomplete CFI data; unspecified registers (e.g., rcx) at 0x7fa313708760...incomplete CFI data; unspecified registers (e.g., rbx) at 0x7fa313708760...incomplete CFI data; unspecified registers (e.g., rsi) at 0x7fa313708760...incomplete CFI data; unspecified registers (e.g., rdi) at 0x7fa313708760...incomplete CFI data; unspecified registers (e.g., rbp) at 0x7fa313708760...incomplete CFI data; unspecified registers (e.g., r8) at 0x7fa313708760...incomplete CFI data; unspecified registers (e.g., r9) at 0x7fa313708760...incomplete CFI data; unspecified registers (e.g., r10) at 0x7fa313708760...incomplete CFI data; unspecified registers (e.g., r11) at 0x7fa313708760...incomplete CFI data; unspecified registers (e.g., r12) at 0x7fa313708760...incomplete CFI data; unspecified registers (e.g., r13) at 0x7fa313708760...incomplete CFI data; unsp ecified registers (e.g., r14) at 0x7fa313708760...incomplete CFI data; unspecified registers (e.g., r15) at 0x7fa313708760...#0 0x00007fa31370874d in poll () at ../sysdeps/unix/syscall-template.S:84 84 ../sysdeps/unix/syscall-template.S: No such file or directory. (gdb) bt
incomplete CFI data; unspecified registers (e.g., rax) at 0x7fa3147b9288...incomplete CFI data; unspecified registers (e.g., rdx) at 0x7fa3147b9288...incomplete CFI data; unspecified registers (e.g., rcx) at 0x7fa3147b9288...incomplete CFI data; unspecified registers (e.g., rsi) at 0x7fa3147b9288...incomplete CFI data; unspecified registers (e.g., rdi) at 0x7fa3147b9288...incomplete CFI data; unspecified registers (e.g., r8) at 0x7fa3147b9288...incomplete CFI data; unspecified registers (e.g., r9) at 0x7fa3147b9288...incomplete CFI data; unspecified registers (e.g., r10) at 0x7fa3147b9288...incomplete CFI data; unspecified registers (e.g., r11) at 0x7fa3147b9288...incomplete CFI data; unspecified registers (e.g., rax) at 0x7fa3147b94aa...incomplete CFI data; unspecified registers (e.g., rdx) at 0x7fa3147b94aa...incomplete CFI data; unspecified registers (e.g., rcx) at 0x7fa3147b94aa...incomplete CFI data; unspecified registers (e.g., rsi) at 0x7fa3147b94aa...incomplete CFI data; unsp ecified registers (e.g., rdi) at 0x7fa3147b94aa...incomplete CFI data; unspecified registers (e.g., r8) at 0x7fa3147b94aa...incomplete CFI data; unspecified registers (e.g., r9) at 0x7fa3147b94aa...incomplete CFI data; unspecified registers (e.g., r10) at 0x7fa3147b94aa...incomplete CFI data; unspecified registers (e.g., r11) at 0x7fa3147b94aa...incomplete CFI data; unspecified registers (e.g., r12) at 0x7fa3147b94aa...incomplete CFI data; unspecified registers (e.g., r13) at 0x7fa3147b94aa...incomplete CFI data; unspecified registers (e.g., r14) at 0x7fa3147b94aa...incomplete CFI data; unspecified registers (e.g., r15) at 0x7fa3147b94aa...incomplete CFI data; unspecified registers (e.g., rax) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., rdx) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., rcx) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., rbx) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., rsi) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., rdi) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., rbp) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., r8) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., r9) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., r10) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., r11) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., r12) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., r13) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., r14) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., r15) at 0x7fa3147b94c4...incomplete CFI data; unspecified registers (e.g., rax) at 0x7fa3147dfc5c...incomplete CFI data; unspecified registers (e.g., rdx) at 0x7fa3147dfc5c...incomplete CFI data; unspecified registers (e.g., rcx) at 0x7fa3147dfc5c. ..incomplete CFI data; unspecified registers (e.g., rsi) at 0x7fa3147dfc5c...incomplete CFI data; unspecified registers (e.g., rdi) at 0x7fa3147dfc5c...incomplete CFI data; unspecified registers (e.g., rbp) at 0x7fa3147dfc5c...incomplete CFI data; unspecified registers (e.g., r8) at 0x7fa3147dfc5c...incomplete CFI data; unspecified registers (e.g., r9) at 0x7fa3147dfc5c...incomplete CFI data; unspecified registers (e.g., r10) at 0x7fa3147dfc5c...incomplete CFI data; unspecified registers (e.g., r11) at 0x7fa3147dfc5c...incomplete CFI data; unspecified registers (e.g., r12) at 0x7fa3147dfc5c...incomplete CFI data; unspecified registers (e.g., r13) at 0x7fa3147dfc5c...incomplete CFI data; unspecified registers (e.g., r14) at 0x7fa3147dfc5c...incomplete CFI data; unspecified registers (e.g., r15) at 0x7fa3147dfc5c...Reading in symbols for pthread_create.c...cannot get low and high bounds for subprogram DIE at 35255...cannot get low and high bounds for subprogram DIE at 35263...cannot g et low and high bounds for subprogram DIE at 35438...cannot get low and high bounds for subprogram DIE at 35468...cannot get low and high bounds for subprogram DIE at 35503...cannot get low and high bounds for subprogram DIE at 35655...cannot get low and high bounds for subprogram DIE at 35714...cannot get low and high bounds for subprogram DIE at 35885...cannot get low and high bounds for subprogram DIE at 35932...cannot get low and high bounds for subprogram DIE at 35979...cannot get low and high bounds for subprogram DIE at 36014...cannot get low and high bounds for subprogram DIE at 36038...cannot get low and high bounds for subprogram DIE at 36064...cannot get low and high bounds for subprogram DIE at 36099...cannot get low and high bounds for subprogram DIE at 36438...cannot get low and high bounds for subprogram DIE at 36514...cannot get low and high bounds for subprogram DIE at 36597...Child DIE 0x949a and its abstract origin 0x8b82 have different parents...Child DIE 0x9572 and its abstract origin 0x8b47 have different parents...Child DIE 0x9862 and its abstract origin 0x8a6e have different parents...Child DIE 0x996d and its abstract origin 0x8a6e have different parents...Child DIE 0x99da and its abstract origin 0x8a8c have different parents...Child DIE 0x9a84 and its abstract origin 0x8a6e have different parents...Child DIE 0x99b0 and its abstract origin 0x8c8b have different parents...Child DIE 0x9a05 and its abstract origin 0x97bd have different parents...Child DIE 0x994c and its abstract origin 0x8cae have different parents...Child DIE 0x998f and its abstract origin 0x8cc6 have different parents...cannot get low and high bounds for subprogram DIE at 39704...Child DIE 0x9e5a and its abstract origin 0x8a6e have different parents...Child DIE 0xadd5 and its abstract origin 0x8a6e have different parents...Child DIE 0xae42 and its abstract origin 0x8a8c have different parents...Child DIE 0xaeec and its abstract origin 0x8a6e have different parents...Chil d DIE 0xae18 and its abstract origin 0x8c8b have different parents...Child DIE 0xae6d and its abstract origin 0x97bd have different parents...Child DIE 0xadb4 and its abstract origin 0x8cae have different parents...Child DIE 0xadf7 and its abstract origin 0x8cc6 have different parents...cannot get low and high bounds for subprogram DIE at 46673...cannot get low and high bounds for subprogram DIE at 46859...Child DIE 0xba1e and its abstract origin 0x8a6e have different parents...Child DIE 0xba6d and its abstract origin 0x8a8c have different parents...Child DIE 0xbb95 and its abstract origin 0x8a8c have different parents...Child DIE 0xbccd and its abstract origin 0x8a6e have different parents...DW_AT_GNU_call_site_target target DIE has invalid low pc, for referencing DIE 0xc430 [in module /usr/lib/debug/.build-id/ce/17e023542265fc11d9bc8f534bb4f070493d30.debug]...done. incomplete CFI data; unspecified registers (e.g., rax) at 0x7fa315d3a830...incomplete CFI data; unspecified registers (e.g., rdx) at 0x7fa315d3a830...incomplete CFI data; unspecified registers (e.g., rcx) at 0x7fa315d3a830...incomplete CFI data; unspecified registers (e.g., rsi) at 0x7fa315d3a830...incomplete CFI data; unspecified registers (e.g., rdi) at 0x7fa315d3a830...incomplete CFI data; unspecified registers (e.g., rbp) at 0x7fa315d3a830...incomplete CFI data; unspecified registers (e.g., r8) at 0x7fa315d3a830...incomplete CFI data; unspecified registers (e.g., r9) at 0x7fa315d3a830...incomplete CFI data; unspecified registers (e.g., r10) at 0x7fa315d3a830...incomplete CFI data; unspecified registers (e.g., r11) at 0x7fa315d3a830...incomplete CFI data; unspecified registers (e.g., r12) at 0x7fa315d3a830...incomplete CFI data; unspecified registers (e.g., r13) at 0x7fa315d3a830...incomplete CFI data; unspecified registers (e.g., r14) at 0x7fa315d3a830...incomplete CFI data; unsp ecified registers (e.g., r15) at 0x7fa315d3a830...Reading in symbols for ../sysdeps/unix/sysv/linux/x86_64/clone.S...done. incomplete CFI data; unspecified registers (e.g., rax) at 0x7fa3137143e9...incomplete CFI data; unspecified registers (e.g., rdx) at 0x7fa3137143e9...incomplete CFI data; unspecified registers (e.g., rcx) at 0x7fa3137143e9...incomplete CFI data; unspecified registers (e.g., rbx) at 0x7fa3137143e9...incomplete CFI data; unspecified registers (e.g., rsi) at 0x7fa3137143e9...incomplete CFI data; unspecified registers (e.g., rdi) at 0x7fa3137143e9...incomplete CFI data; unspecified registers (e.g., rbp) at 0x7fa3137143e9...incomplete CFI data; unspecified registers (e.g., r8) at 0x7fa3137143e9...incomplete CFI data; unspecified registers (e.g., r9) at 0x7fa3137143e9...incomplete CFI data; unspecified registers (e.g., r10) at 0x7fa3137143e9...incomplete CFI data; unspecified registers (e.g., r11) at 0x7fa3137143e9...incomplete CFI data; unspecified registers (e.g., r12) at 0x7fa3137143e9...incomplete CFI data; unspecified registers (e.g., r13) at 0x7fa3137143e9...incomplete CFI data; unsp ecified registers (e.g., r14) at 0x7fa3137143e9...incomplete CFI data; unspecified registers (e.g., r15) at 0x7fa3137143e9...#0 0x00007fa31370874d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fa3147b938c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fa3147b949c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fa3147b94d9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007fa3147dfc55 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007fa315d3a6ba in start_thread (arg=0x7fa30512d700) at pthread_create.c:333 #6 0x00007fa31371441d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 (gdb) t 3
#1 0x00007fa3147b938c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fa3147b9712 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fa3133699d6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #4 0x00007fa3147dfc55 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007fa315d3a6ba in start_thread (arg=0x7fa30492c700) at pthread_create.c:333 #6 0x00007fa31371441d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

(gdb) t 4

#1 0x00007fa2f1d47c3c in ?? () from /usr/lib/x86_64-linux-gnu/libcrypto.so #2 0x00007fa2f1d45bdc in BIO_read () from /usr/lib/x86_64-linux-gnu/libcrypto.so #3 0x00007fa2f19f180a in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so #4 0x00007fa2f19f30ad in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so #5 0x00007fa2f19efc64 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so #6 0x000000000192107c in SSLREAD (SSL=0x7fa2e403ac30, BUF=0x7fa2fc104dc8, NUM=4096) at openssl/src/openssl.pas:2156 #7 0x0000000001929618 in READ (this=0x7fa2f2332e20, BUF=0x7fa2fc104dc8, NUM=4096) at openssl/src/fpopenssl.pp:475 #8 0x000000000192033f in RECV (this=0x7fa2f2139280, BUFFER=0, COUNT=4096) at fcl-net/src/sslsockets.pp:436 #9 0x00000000019175c4 in READ (this=0x7fa2f214b6e0, BUFFER=0, COUNT=4096) at fcl-net/src/ssockets.pp:449 #10 0x000000000199bcdd in FILLBUFFER (parentfp=0x7fa2fc603230) at fpcmod/opkman_httpclient.pas:708 #11 0x000000000199ba31 in READSTRING (this=0x7fa3058e08e0, S=0x0) at fpcmod/opkman_httpclient.pas:730 #12 0x000000000199c165 in READRESPONSEHEADERS (this=0x7fa3058e08e0) at fpcmod/opkman_httpclient.pas:835 #13 0x000000000199cb9f in READRESPONSE (this=0x7fa3058e08e0, STREAM=0x7fa2f22efbc0, ALLOWEDRESPONSECODES=..., highALLOWEDRESPONSECODES=-1, HEADERSONLY=false) at fpcmod/opkman_httpclient.pas:1110 #14 0x000000000199d7e8 in DONORMALREQUEST (this=0x7fa3058e08e0, AURI=..., AMETHOD=0x1d62410 'GET', ASTREAM=0x7fa2f22efbc0, AALLOWEDRESPONSECODES=..., highAALLOWEDRESPONSECODES=-1, AHEADERSONLY=false, AISHTTPS=true) at fpcmod/opkman_httpclient.pas:1205 #15 0x000000000199dc6e in DOMETHOD (this=0x7fa3058e08e0, AMETHOD=0x1d62410 'GET', AURL=0x7fa2f215a6d8 'https://excellmedia.dl.sourceforge.net/project/lazarus-ccr/ColorPalette/OPM/update_ColorPalette.json', STREAM=0x7fa2f22efbc0, ALLOWEDRESPONSECODES=..., highALLOWEDRESPONSECODES=-1) at fpcmod/opkman_httpclient.pas:1263 #16 0x000000000199e4a1 in HTTPMETHOD (this=0x7fa3058e08e0, AMETHOD=0x1d62410 'GET', AURL=0x7fa2f215aef8 'https://sourceforge.net/projects/lazarus-ccr/files/ColorPalette/OPM/update_ColorPalette.json/download', STREAM=0x7fa2f22efbc0, ALLOWEDRESPONSECODES=..., highALLOWEDRESPONSECODES=-1) at fpcmod/opkman_httpclient.pas:1372
#17 0x000000000198d025 in GETUPDATEINFO (this=0x7fa2ffce81c0, AURL=0x7fa2f215aef8 'https://sourceforge.net/projects/lazarus-ccr/files/ColorPalette/OPM/update_ColorPalette.json/download', AJSON=0x0) at opkman_updates.pas:386
#18 0x000000000198d3e3 in CHECKFORUPDATES (this=0x7fa2ffce81c0) at opkman_updates.pas:438 #19 0x000000000198d9a4 in EXECUTE (this=0x7fa2ffce81c0) at opkman_updates.pas:527 #20 0x000000000052eee2 in THREADFUNC (PARAMETER=0x7fa2ffce81c0) at ../unix/tthread.inc:94 #21 0x000000000044e61d in THREADMAIN (PARAM=0x7fa30561f160) at ../unix/cthreads.pp:300 #22 0x00007fa315d3a6ba in start_thread (arg=0x7fa2fc604700) at pthread_create.c:333 #23 0x00007fa31371441d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Show quoted text 8 lines
... -- _______________________________________________ lazarus mailing list https://lists.lazarus-ide.org/listinfo/lazarus

Reply by email

Martin Frb
to Michael Van Canneyt

So it hangs in openssl.
Which means the http request can not be aborted. (gracefully)

How up to date is your openssl?

I recently had an issue with git on windows, due to an openssl bug https://github.com/git-for-windows/git/issues/1993

The openssl bug seems older, but some activity referring to a fix is very recent.
So just maybe...?

--------------------
It might be possible to limit the IDE wait time though. Since this is on shutdown, the IDE can wait with the thread still running. That would report a memory leak.... (but not a problem, since it is a one off / will not accumulate)

That is assuming the OS manages to kill the thread then. On windows it was not possible to kill any app hanging in that openssl bug (A system restart was required)

Michael Van Canneyt wrote 38 lines
(gdb) t 4 #1  0x00007fa2f1d47c3c in ?? () from /usr/lib/x86_64-linux-gnu/libcrypto.so #2  0x00007fa2f1d45bdc in BIO_read () from /usr/lib/x86_64-linux-gnu/libcrypto.so #3  0x00007fa2f19f180a in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so #4  0x00007fa2f19f30ad in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so #5  0x00007fa2f19efc64 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so #6  0x000000000192107c in SSLREAD (SSL=0x7fa2e403ac30, BUF=0x7fa2fc104dc8, NUM=4096) at openssl/src/openssl.pas:2156 #7  0x0000000001929618 in READ (this=0x7fa2f2332e20, BUF=0x7fa2fc104dc8, NUM=4096) at openssl/src/fpopenssl.pp:475 #8  0x000000000192033f in RECV (this=0x7fa2f2139280, BUFFER=0, COUNT=4096) at fcl-net/src/sslsockets.pp:436 #9  0x00000000019175c4 in READ (this=0x7fa2f214b6e0, BUFFER=0, COUNT=4096) at fcl-net/src/ssockets.pp:449 #10 0x000000000199bcdd in FILLBUFFER (parentfp=0x7fa2fc603230) at fpcmod/opkman_httpclient.pas:708 #11 0x000000000199ba31 in READSTRING (this=0x7fa3058e08e0, S=0x0) at fpcmod/opkman_httpclient.pas:730 #12 0x000000000199c165 in READRESPONSEHEADERS (this=0x7fa3058e08e0) at fpcmod/opkman_httpclient.pas:835 #13 0x000000000199cb9f in READRESPONSE (this=0x7fa3058e08e0, STREAM=0x7fa2f22efbc0, ALLOWEDRESPONSECODES=..., highALLOWEDRESPONSECODES=-1, HEADERSONLY=false) at fpcmod/opkman_httpclient.pas:1110 #14 0x000000000199d7e8 in DONORMALREQUEST (this=0x7fa3058e08e0, AURI=..., AMETHOD=0x1d62410 'GET', ASTREAM=0x7fa2f22efbc0, AALLOWEDRESPONSECODES=..., highAALLOWEDRESPONSECODES=-1, AHEADERSONLY=false,     AISHTTPS=true) at fpcmod/opkman_httpclient.pas:1205 #15 0x000000000199dc6e in DOMETHOD (this=0x7fa3058e08e0, AMETHOD=0x1d62410 'GET', AURL=0x7fa2f215a6d8 'https://excellmedia.dl.sourceforge.net/project/lazarus-ccr/ColorPalette/OPM/update_ColorPalette.json',     STREAM=0x7fa2f22efbc0, ALLOWEDRESPONSECODES=..., highALLOWEDRESPONSECODES=-1) at fpcmod/opkman_httpclient.pas:1263

Reply by email

Michael Van Canneyt
to Martin Frb
Martin Frb wrote
So it hangs in openssl.

I think that is a premature conclusion :)

Which means the http request can not be aborted. (gracefully) How up to date is your openssl?

System installed version, so 1.0.x. I recently updated my packages. Assuming linux mint includes upstream fixes it should be reasonably OK.

Show quoted text 7 lines
I recently had an issue with git on windows, due to an openssl bug https://github.com/git-for-windows/git/issues/1993 The openssl bug seems older, but some activity referring to a fix is very recent. So just maybe...?

... ?

Maybe switch to GnuTLS as the default driver for HTTPS ;)

Michael.

Reply by email

Martin Frb
to Michael Van Canneyt
Michael Van Canneyt wrote 7 lines
On Sun, 24 Feb 2019, Martin Frb via lazarus wrote: > So it hangs in openssl. I think that is a premature conclusion :)

I should have said:

"In this specific case, it was in openssl"
Which then is an observation.

But you could, next time, set a breakpoint at the line/address where it returns to opm (or pascal code).

#8  0x000000000192033f in RECV (this=0x7fa2f2139280, BUFFER=0, COUNT=4096) at fcl-net/src/sslsockets.pp:436
#9  0x00000000019175c4 in READ (this=0x7fa2f214b6e0, BUFFER=0, COUNT=4096) at fcl-net/src/ssockets.pp:449
#10 0x000000000199bcdd in FILLBUFFER (parentfp=0x7fa2fc603230) at fpcmod/opkman_httpclient.pas:708
#11 0x000000000199ba31 in READSTRING (this=0x7fa3058e08e0, S=0x0) at fpcmod/opkman_httpclient.pas:730
#12 0x000000000199c165 in READRESPONSEHEADERS (this=0x7fa3058e08e0) at fpcmod/opkman_httpclient.pas:835

|select-frame 10
b +0

^^^^ select the frame, set a breakpoint

then
r
^^ run

That should tell, if the socket call returns. (and then allow to find where in the pascal code it loops (how many further frames back will it go?)

|

Show quoted text 6 lines
> Which means the http request can not be aborted. (gracefully) > > How up to date is your openssl? System installed version, so 1.0.x. I recently updated my packages.

From the discussions on the git buck, it appears (I may be wrong) the issue was fixed about one week back. (and then it depends when that made it into your distro).

So if you recently updated, you may have updated to include the issue (depends on the outcome of the above)
Anyway that is only one possibility.

Above gdb steps should get as closer to the issue (either if it is ssl, or where in the pascal code to look for it).

----
As usual, the issue is that it does not (has not yet) happened to me (Windows/Fedora 28).
Also I am not the maintainer of httpclient, nor of opm. So I can only offer limited help. (I did have a look at opm in the past, so that's why I jumped in)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20190224/73fc9eec/attachment.html>

Reply by email

Werner Pamler
to Michael Van Canneyt: I find that the IDE has become very unstable lately. I didn't install any new packages,…
Michael Van Canneyt wrote 19 lines
I find that the IDE has become very unstable lately. I didn't install any new packages, didn't update FPC (still on FPC 3.0.4). Just updated lazarus from SVN. 4 out of 5 attempts to close the IDE using the window manager button fails: lazarus hangs and I must kill it using killall -KILL lazarus from a terminal. It's very reproducible. Start lazarus Open package Compile package Switch to form editor of start project Close (window manager or menu file - exit) -> hang

Just to confirm: I can observe the same on Windows and have to kill the IDE with the task manager. Sometimes the IDE does not close any more even after compiling a simple project. After uninstalling OPM the issue is gone.

Reply by email

Martin Frb
to Werner Pamler
Werner Pamler wrote 15 lines
Am 24.02.2019 um 12:00 schrieb Michael Van Canneyt via lazarus: > > Start lazarus > Open package > Compile package > Switch to form editor of start project > Close (window manager or menu file - exit) > -> hang Just to confirm: I can observe the same on Windows and have to kill the IDE with the task manager. Sometimes the IDE does not close any more even after compiling a simple project. After uninstalling OPM the issue is gone.

Same question, any change of finding where it hangs?
- attach
- view stack
- set breakpoints further up the stack
- see what's the furthest out breakpoint is that gets reached?

Reply by email

Michael Van Canneyt
to Martin Frb
Martin Frb wrote 21 lines
On 24/02/2019 22:07, Werner Pamler via lazarus wrote: > Am 24.02.2019 um 12:00 schrieb Michael Van Canneyt via lazarus: >> >> Start lazarus >> Open package >> Compile package >> Switch to form editor of start project >> Close (window manager or menu file - exit) >> -> hang > > > Just to confirm: I can observe the same on Windows and have to kill > the IDE with the task manager. Sometimes the IDE does not close any > more even after compiling a simple project. After uninstalling OPM the > issue is gone. > Same question, any change of finding where it hangs? - attach - view stack - set breakpoints further up the stack - see what's the furthest out breakpoint is that gets reached?

Allow me a counter question (maybe not for you, Martin)

Clearly the online package manager is doing work behind my back.

I do not want the online package manager to do any requests or actions unless I instruct it to.

Can this 'behind the scenes' work be disabled ?

Michael.

Reply by email

Balázs Székely

This is my second try. Apparently the previous mail needs moderator aproval(I attached a screenshot which is bigger then 100K).

Hi Michel,

Clearly the online package manager is doing work behind my back.

By "work behind my back" I suppose you mean that OPM will try to connect to various webpages. Here is the reason:
1. In order to download the package list, on IDE startup OPM will attempt to connect to: https://packages.lazarus-ide.org/(this is the official Lazarus repository)
2. More over a package maintainer has the posibility to push his/her latest release through OPM, so from time to times OPM will download and parse a json file from the package maintainer webpage(to get the latest information about the packages).

The behaviour is configurable in Lazarus trunk. Please open OPM, then go to *Options-->Check
for Package Updates* and select Never. Never is the default option by the way, unless you have some old configuration file. Other then this OPM never sends any kind of information, only downloads json files.

PS: The hanging IDE issue should be fixed in r. 60492. If you have some free time please run a few test again.Thank you.

regards,
Balázs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20190225/d7b906b6/attachment.html>

Reply by email

Michael Van Canneyt
to Balázs Székely
Balázs Székely wrote 22 lines
This is my second try. Apparently the previous mail needs moderator aproval(I attached a screenshot which is bigger then 100K). Hi Michel, Clearly the online package manager is doing work behind my back. > By "work behind my back" I suppose you mean that OPM will try to connect to various webpages. Here is the reason: 1. In order to download the package list, on IDE startup OPM will attempt to connect to: https://packages.lazarus-ide.org/(this is the official Lazarus repository) 2. More over a package maintainer has the posibility to push his/her latest release through OPM, so from time to times OPM will download and parse a json file from the package maintainer webpage(to get the latest information about the packages). The behaviour is configurable in Lazarus trunk. Please open OPM, then go to *Options-->Check for Package Updates* and select Never. Never is the default option by the way, unless you have some old configuration file. Other then this OPM never sends any kind of information, only downloads json files.

OK. Probably it is because I have an old config.

PS: The hanging IDE issue should be fixed in r. 60492. If you have some free time please run a few test again.Thank you.

I will test it, thanks for the fast response !

Michael.

Reply by email