geany-plugins icon indicating copy to clipboard operation
geany-plugins copied to clipboard

Webhelper: geany crashes when I turn on web inspector

Open xomrk opened this issue 8 years ago • 27 comments

I use geany with webhelper on debian 8.3 x 32. On my previous PC (also with debian 8) I had the same problem but it disappeared after update of debian, geany and plugins. Now I have new laptop with up-to-date debian and with the same problem. I have geany ver.1.26 and webhelper ver. 1.26+dfsg-1. No difference which site or local html file I use, webhelper itself works great. But when I press web inspector button or choose 'inspect element' from right-click menu, geany immediately crashes. If I start geany from terminal. after the crash I see:

a@b:~$ geany Segmentation fault a@b:~$

Geany is the best lightweight IDE ever and I hope You'll help me to solve the problem. TY in advance!

xomrk avatar Mar 15 '16 04:03 xomrk

Please run geany from inside gdb and provide a backtrace.

frlan avatar Mar 15 '16 06:03 frlan

@xomrk can you try something like:

$ gdb --args geany -v

And paste the output here. For more info see here. If your distro has a debug package, installing that first would make the paste more useful.

codebrainz avatar Mar 15 '16 06:03 codebrainz

Here is the output after 'run' command on geany load (I didn't pressed web inspector yet):

(gdb) run Starting program: /usr/bin/geany -v [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1". Geany-INFO: Geany 1.26, en_US.utf8 Geany-INFO: GTK 2.24.30, GLib 2.46.2 Geany-INFO: System data dir: /usr/share/geany Geany-INFO: User config dir: /home/zz/.config/geany [New Thread 0xb60b3b40 (LWP 2312)] [New Thread 0xb58b2b40 (LWP 2313)] Geany-INFO: System plugin path: /usr/lib/i386-linux-gnu/geany Geany-INFO: Added filetype Genie (61). Geany-INFO: Added filetype Graphviz (62). Geany-INFO: Added filetype JSON (63). Geany-INFO: Added filetype CUDA (64). Geany-INFO: Added filetype Clojure (65). Geany-INFO: Added filetype Cython (66). Geany-INFO: Added filetype Scala (67). Geany-INFO: Loaded: /usr/lib/i386-linux-gnu/geany/addons.so (Addons) Geany-INFO: Loaded: /usr/lib/i386-linux-gnu/geany/geanyvc.so (GeanyVC) Geany-INFO: Loaded: /usr/lib/i386-linux-gnu/geany/geanynumberedbookmarks.so (Numbered Bookmarks) Geany-INFO: Loaded: /usr/lib/i386-linux-gnu/geany/splitwindow.so (Split Window) [New Thread 0xb019ab40 (LWP 2341)] [New Thread 0xaf875b40 (LWP 2342)] [New Thread 0xaef20b40 (LWP 2343)] [New Thread 0xae276b40 (LWP 2347)] Geany-INFO: Loaded: /usr/lib/i386-linux-gnu/geany/webhelper.so (Web helper) Geany-INFO: /home/zz/Downloads/Example Domain.html : HTML (UTF-8) [New Thread 0xad8b7b40 (LWP 2367)] [Thread 0xad8b7b40 (LWP 2367) exited]

xomrk avatar Mar 15 '16 07:03 xomrk

Here is the output after I pressed 'web inspector' button. Now geany didn't crashed and quit. It just hanged, no any reaction for mouse or keyboard.

[New Thread 0xad8b7b40 (LWP 9471)] [New Thread 0xacfaab40 (LWP 9473)] [New Thread 0xac7a9b40 (LWP 9476)] [New Thread 0xabfa8b40 (LWP 9477)] [New Thread 0xaacd0b40 (LWP 9499)] [New Thread 0xaa4cfb40 (LWP 9503)] [Thread 0xac7a9b40 (LWP 9476) exited] [Thread 0xacfaab40 (LWP 9473) exited] [Thread 0xad8b7b40 (LWP 9471) exited] ** Message: console message: resource:///org/webkitgtk/inspector/UserInterface/Main.js @665: Localized string "Hide console (%s)" was not found.

Program received signal SIGSEGV, Segmentation fault. 0xa9103a93 in ?? () (gdb)

xomrk avatar Mar 15 '16 07:03 xomrk

@xomrk does it give any more output if at GDB console when it sends SIGSEGV, if you type bt, like:

Program received signal SIGSEGV, Segmentation fault.
0xa9103a93 in ?? ()
(gdb) bt
>>>>>>> this stuff here <<<<<<<<<

codebrainz avatar Mar 15 '16 07:03 codebrainz

Yes:

(gdb) bt
#0  0xab250a93 in ?? ()
#1  0xab2261d9 in ?? ()
#2  0xb2c60a42 in ?? ()
   from /usr/lib/i386-linux-gnu/libjavascriptcoregtk-1.0.so.0
#3  0xb2c037d8 in JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*, JSC::Register*) () from /usr/lib/i386-linux-gnu/libjavascriptcoregtk-1.0.so.0
#4  0xb2be1c1c in JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) ()
   from /usr/lib/i386-linux-gnu/libjavascriptcoregtk-1.0.so.0
#5  0xb2d09e30 in JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) ()
   from /usr/lib/i386-linux-gnu/libjavascriptcoregtk-1.0.so.0
#6  0xb2d522e9 in JSC::boundFunctionCall(JSC::ExecState*) ()
   from /usr/lib/i386-linux-gnu/libjavascriptcoregtk-1.0.so.0
#7  0xada6940f in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) 

xomrk avatar Mar 15 '16 08:03 xomrk

FWIW, I can't reproduce on my Debian Unstable x86-64.

Also, to run GDB more directly, you can do gdb -ex run --args geany -v.

Anyway… looks very odd. Could you try and run under Valgrind? it looks like a memory corruption, so maybe Valgrind could help. It's fairly slow to run anything under Valgrind, but use G_DEBUG="gc-friendly:resident-modules" G_SLICE="always-malloc" valgrind geany -v.

Also, you might want to install Geany's, Geany-Plugins' and WebKitGTK's (beware, there are many WebKitGTKs, it's libwebkitgtk-1.0-0-dbg) debugging symbols (-dbg packages) to see more meaningful traces with GDB and Valgrind.

This said, I doubt it's actually WebHelper's fault. I could be wrong, but I doubt the plugin does anything odd enough to trigger something like that, and would rather imagine it's an obscure bug in libwebkitgtk going unnoticed because it's with the inspector.

If I get a chance I'll try and setup a 32 bits Jessie VM, but it might not be tonight.

b4n avatar Mar 16 '16 18:03 b4n

TY guys! I installed xombrero (it is also based on WebKit) and had the same crash when pressed 'inspect element'. So, I googled the issue and understood that it is not WebHelper's fault. It is a rare problem of some linux x32 machines (mostly debian). Though I couldn't find the solution, You should feel free to remove this issue from here, because it is not concerned to wonderful geany and its plugins. Sorry and TY.

xomrk avatar Mar 16 '16 20:03 xomrk

Well, after Midori browser installation Web inspector stopped crashing. Seems like some libraries were refreshed. May be it will help someone in the same situation.

xomrk avatar Mar 21 '16 06:03 xomrk

i have same error, tested with debian wheeze, and then using mint 17 same with geany 1.29 git, installing midory does not solve the problem

mckaygerhard avatar Feb 10 '17 11:02 mckaygerhard

@mckaygerhard Can you please run geany from inside gdb and provide a backtrace? That would help to figure out the reason I think (and whether the cause differs from above)

frlan avatar Feb 10 '17 12:02 frlan

@frlan i dont remenber right now but do the most rapid : (using Debian testing in some time of the 2016 and geany 1.29-something)

if the info provided are not enough tell me how and i do it:

systemas@syslaptop04 ~ $ gdb geany
GNU gdb 7.7.1-Debian
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
Type "show configuration" for configuration details.
Para las instrucciones de informe de errores, vea:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Leyendo símbolos desde geany...(no se encontraron símbolos de depuración)hecho.
(gdb) run
Starting program: /usr/bin/geany 
[Depuración de hilo usando libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib/i386-linux-gnu/libstdc++.so.6.0.19-gdb.py", line 63, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named 'libstdcxx'
[Nuevo Thread 0xa9304b40 (LWP 5627)]

(geany:5623): GLib-GObject-WARNING **: Attempt to add property GwhSettings::browser-auto-reload after class was initialised

(geany:5623): GLib-GObject-WARNING **: Attempt to add property GwhSettings::browser-last-uri after class was initialised

(geany:5623): GLib-GObject-WARNING **: Attempt to add property GwhSettings::browser-bookmarks after class was initialised

(geany:5623): GLib-GObject-WARNING **: Attempt to add property GwhSettings::browser-orientation after class was initialised

(geany:5623): GLib-GObject-WARNING **: Attempt to add property GwhSettings::browser-position after class was initialised

(geany:5623): GLib-GObject-WARNING **: Attempt to add property GwhSettings::browser-separate-window-geometry after class was initialised

(geany:5623): GLib-GObject-WARNING **: Attempt to add property GwhSettings::inspector-window-geometry after class was initialised

(geany:5623): GLib-GObject-WARNING **: Attempt to add property GwhSettings::inspector-detached after class was initialised

(geany:5623): GLib-GObject-WARNING **: Attempt to add property GwhSettings::wm-secondary-windows-skip-taskbar after class was initialised

(geany:5623): GLib-GObject-WARNING **: Attempt to add property GwhSettings::wm-secondary-windows-are-transient after class was initialised

(geany:5623): GLib-GObject-WARNING **: Attempt to add property GwhSettings::wm-secondary-windows-type after class was initialised
[Nuevo Thread 0xa42d0b40 (LWP 5628)]
[Nuevo Thread 0xa39abb40 (LWP 5629)]
Vector smash protection is enabled.
[Nuevo Thread 0xa09e8b40 (LWP 5630)]
[Nuevo Thread 0x9ffffb40 (LWP 5631)]
[Nuevo Thread 0x9f7feb40 (LWP 5632)]
[Nuevo Thread 0x9edffb40 (LWP 5633)]
[Nuevo Thread 0x9ddffb40 (LWP 5634)]
[Nuevo Thread 0x9d548b40 (LWP 5635)]
[Nuevo Thread 0x9cce7b40 (LWP 5636)]
[Nuevo Thread 0x9c0deb40 (LWP 5640)]
[Thread 0x9cce7b40 (LWP 5636) terminado]
[Nuevo Thread 0x9cce7b40 (LWP 5658)]
[Nuevo Thread 0x9b8ddb40 (LWP 5659)]
[Nuevo Thread 0x9afdab40 (LWP 5660)]
[Nuevo Thread 0x9a7d9b40 (LWP 5661)]
[Nuevo Thread 0x99fd8b40 (LWP 5662)]
[Nuevo Thread 0x996d5b40 (LWP 5663)]
[Nuevo Thread 0x98ed4b40 (LWP 5664)]
[Nuevo Thread 0x9819fb40 (LWP 5665)]
[Nuevo Thread 0x9799eb40 (LWP 5666)]

Program received signal SIGTRAP, Trace/breakpoint trap.
0x95d4e0dc in ?? ()
(gdb) bt
#0  0x95d4e0dc in ?? ()
#1  0x95d481d8 in ?? ()
#2  0xa69932cf in ?? ()
   from /usr/lib/i386-linux-gnu/libjavascriptcoregtk-1.0.so.0
#3  0xa6927f3d in JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*, JSC::Register*) () from /usr/lib/i386-linux-gnu/libjavascriptcoregtk-1.0.so.0
#4  0xa6905f51 in JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) ()
   from /usr/lib/i386-linux-gnu/libjavascriptcoregtk-1.0.so.0
#5  0xa6a49606 in JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) ()
   from /usr/lib/i386-linux-gnu/libjavascriptcoregtk-1.0.so.0
#6  0xa6a8f79b in JSC::boundFunctionCall(JSC::ExecState*) ()
   from /usr/lib/i386-linux-gnu/libjavascriptcoregtk-1.0.so.0
#7  0x9e50596f in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) 

mckaygerhard avatar Feb 10 '17 12:02 mckaygerhard

ping! i provided the backtrace, what we need now? it's solved?

FROM DEBIAN: geany-plugins (1.32+dfsg-3) unstable; urgency=medium

  • [67b34ed] Disable webkit-using plugins: markdown, webhelper webkitgtk-3.0 is not to be used as it is deprecated, but the port to webkit2gtk-4.0 isn't ready yet.

But some people reported works after some libs upgrading.. please there's some info?

mckaygerhard avatar Sep 19 '18 15:09 mckaygerhard

seems solved with https://github.com/geany/geany-plugins/pull/746/commits/4039a13882f4b9e2127f6e7b018bdbdffe36e2a2 ??? https://github.com/geany/geany-plugins/commit/4039a13882f4b9e2127f6e7b018bdbdffe36e2a2

are relased a geany plugins with that support for new webkit?

mckaygerhard avatar Sep 19 '18 15:09 mckaygerhard

Will be in next release, not sure when that is.

elextr avatar Sep 19 '18 18:09 elextr

hi what it's the status of this ?

mckaygerhard avatar Jul 31 '19 20:07 mckaygerhard

Last release of Geany and Plugins was 1.35 in April 2019, so should be there.

elextr avatar Jul 31 '19 22:07 elextr

@mckaygerhard are you asking about the bug this issue is about (Geany crashing with Webhelper plugin), or the status of the unrelated Markdown plugin changes to support newer webkit, to which you linked?

codebrainz avatar Jul 31 '19 23:07 codebrainz

i asking for Geany crashing with Webhelper plugin (only when goin to debuggin tools).. are not solved or not? are available in lasted? where will be available if solved?

in the link commit 4039a13882f4b9e2127f6e7b018bdbdffe36e2a2 seems markdown plugin can work with newer webkit , so why webhelper cannot be take some importance and help?

please guys.. this plugins are so helpfully! but in almost all distributions are not working!

mckaygerhard avatar Aug 01 '19 00:08 mckaygerhard

@mckaygerhard plugins are maintained by volunteers, in their own time. Its likely that they simply don't have the time, better to provide a pull request or get somebody to do it for you if you need it so bad.

elextr avatar Aug 01 '19 01:08 elextr

@mckaygerhard in #677 was a PR to update Webhelper and Markdown plugins' Webkit, I took the changes from it in #746 and it got merged. #677 was merged but then reverted because the Webhelper changes didn't get approved/reviewed. So AFAICT support for newer Webkit in Webhelper plugin isn't done, or if it was, was done separately from those PRs.

I assigned @b4n, I'm sure he knows what's up.

codebrainz avatar Aug 01 '19 02:08 codebrainz

thanks @codebrainz i hope @b4n have enought time to contribute adn made a good job! we all waith for ... triying to follow comments in PR #677 i get lost in the sea of comments..

mckaygerhard avatar Aug 01 '19 03:08 mckaygerhard

triying to follow comments in PR #677 i get lost in the sea of comments..

Even in native English it's confusing :smile:

codebrainz avatar Aug 01 '19 03:08 codebrainz

Hi, crashing with the latest plugin and Geany 1.37.0 on Windows.. just typing any valid url or also clicking the inspector button.

(gdb) target exec geany
(gdb) run
Starting program: C:\Program Files (x86)\Geany\bin\geany.exe
[New Thread 4812.0x5a8]
warning: `C:\Windows\SYSTEM32\ntdll.dll': Shared library architecture i386:x86-64 is not compatible with target architec
ture i386.
warning: `C:\Windows\SYSTEM32\wow64.dll': Shared library architecture i386:x86-64 is not compatible with target architec
ture i386.
warning: `C:\Windows\SYSTEM32\wow64win.dll': Shared library architecture i386:x86-64 is not compatible with target archi
tecture i386.
warning: `C:\Windows\SYSTEM32\wow64cpu.dll': Shared library architecture i386:x86-64 is not compatible with target archi
tecture i386.
warning: Could not load shared library symbols for WOW64_IMAGE_SECTION.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for WOW64_IMAGE_SECTION.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for NOT_AN_IMAGE.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for NOT_AN_IMAGE.
Do you need "set solib-search-path" or "set sysroot"?
[New Thread 4812.0x1928]
[New Thread 4812.0x1468]
[New Thread 4812.0x1130]
[New Thread 4812.0x10c0]
[New Thread 4812.0x1810]
[New Thread 4812.0xe48]
[New Thread 4812.0x86c]
[New Thread 4812.0x140c]
[New Thread 4812.0xf08]
warning: Invalid parameter passed to C runtime function.

gdb: unknown target exception 0x4000001f at 0x6c631c49

Program received signal ?, Unknown signal.
0x0008d8d8 in ?? ()
(gdb)

wini3d avatar Mar 25 '21 02:03 wini3d

The latest Geany for windows is 1.37.1 to fix a crash in 1.37.0, so maybe .....

Also which windows?

elextr avatar Mar 25 '21 03:03 elextr

@elextr

Windows 7 64-bit. Yes, also tried it first with the latest 1.37.1 and it crashes.

I thought this will be solved when the installer message stated to use exactly the same version so then I used 1.37.0.

wini3d avatar Mar 28 '21 22:03 wini3d

Can you run under gdb as you did above and get a backtrace bt when it returns to gdb after the crash. Note you may need to type return a few times to get it all.

elextr avatar Mar 28 '21 22:03 elextr