Giter Site home page Giter Site logo

bless's People

Contributors

afrantzis avatar bsdf avatar davidcim avatar huntergregal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bless's Issues

Characters not being displayed on Ubuntu 20.04

Hi,

Don't know if it's a Bless problem, but I don't see how to fix it and maybe somebody can help.

After upgrading from Ubuntu 18.04 to 20.04, Bless shows the numeric representation of characters, instead of the characters itself.

bless

Any file is shown like that. This only happens with the data view, the rest of the interface looks fine.

Usually the application crashes. Can provide call traces if needed.

binary to ascii

Hi

Here is binary data which cna be translated to ascii. When I use online translator the conversion is like expected, but when I put the data int the Bless 0.6.0, then I can not see the text.

Why it is ?

Crash on ctrl+a ctrl+c right after opening the file

Bless crashes with X error if you try to open the file and right away, without clicking on any hex value, press ctrl+a to select all and press ctrl+c to copy.

How to reproduce:

  1. Open bless
  2. Drag-n-drop any sufficiently large file (100 KB is enough)
  3. Press ctrl+a, ctrl+c
  4. Bless crashes with X error

The bug does not happen if you first click anywhere in the hex viewer (to set cursor somewhere).

(bless:1107528): Gdk-ERROR **: 09:47:37.629: The program 'bless' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 3815 error_code 3 request_code 18 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
/usr/bin/bless: line 3: 1107528 Trace/breakpoint trap   (core dumped) mono "/usr/lib64/bless/bless.exe" "$@"
(gdb) bt
#0  0x00007fffe32953e7 in g_log_structured_array () at /lib64/libglib-2.0.so.0
#1  0x00007fffe32956a9 in g_log_default_handler () at /lib64/libglib-2.0.so.0
#2  0x00007fffe32968e6 in g_logv () at /lib64/libglib-2.0.so.0
#3  0x00007fffe3296b83 in g_log () at /lib64/libglib-2.0.so.0
#4  0x00007fffe80b55b9 in gdk_x_error.lto_priv () at /lib64/libgdk-x11-2.0.so.0
#5  0x00007fffe37a214b in _XError () at /lib64/libX11.so.6
#6  0x00007fffe37a2227 in handle_error () at /lib64/libX11.so.6
#7  0x00007fffe37a22c5 in handle_response () at /lib64/libX11.so.6
#8  0x00007fffe37a2372 in _XEventsQueued () at /lib64/libX11.so.6
#9  0x00007fffe378e711 in XPending () at /lib64/libX11.so.6
#10 0x00007fffe80ac54f in gdk_event_prepare.lto_priv () at /lib64/libgdk-x11-2.0.so.0
#11 0x00007fffe328e71a in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#12 0x00007fffe32e0963 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#13 0x00007fffe328e163 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#14 0x00007fffe39f50c2 in gtk_main () at /lib64/libgtk-x11-2.0.so.0
#15 0x0000000040178a40 in  ()
#16 0x0000000000000000 in  ()

Missing monospace font markers

Screenshot_20191203_143448

Version: 0.6.2 installed from https://aur.archlinux.org/packages/bless/
Log:

$ bless PKGBUILD 
Could not find a part of the path '/home/erik/.config/bless/plugins'.
Could not find a part of the path '/home/erik/.config/bless/plugins'.
Could not find a part of the path '/home/erik/.config/bless/plugins'.
Could not find file "/home/erik/.config/bless/export_patterns"

I am running kde-plasma with no special configuration with regard to fonts. I do have several monospace fonts.

To solve it I tried changing the font as described here but this makes no difference

Alternate row coloring

I was playing around with the latest codebase (Mint Repos are way behind for some reason, even with that critical bug where it can't save a file being edited), and I noticed that there's no way to set a layout to have alternating row colors. For instance, the default layouts have the columns with alternating foregrounds and white backgrounds, which is fine. However, I would love to be able to also specify foreground and background colors for even and odd rows.

This could be implemented in such a way that colors for columns override this if specified (which would mean that the default would be to leave off the background tags for columns).

The effect would be a bit like the old-style alternating row color spreadsheets. If I get around to implementing this, I may issue a pull request.

How to build?

I tried to follow the instructions given in README but didn't find any file named 'configure'

pfm image file

Hi
Is it posssible to make layout for pfm files :
http://www.pauldebevec.com/Research/HDR/PFM/

now I can open it and read header properly but not the rest:

PF
512 768
-1.000000
�� <���;��8:��5<��R;��8:��;<��V;��X:��%<��R;��8:��><��J;��8:��?<��J;��8:��4<��B;��(:��8<��J;��8:��9<��R;��H:��4<��N;��(:��:<��F;��(:��8<��B;��(:��6<��F;��(:��4<��F;��8:��3<��J;��

TIA

Bless crashes when ~/.config/bless/plugins is a file instead of a directory

Hi,

when I first ran bless I received a message about the missing plugins folder:

$ bless
Could not find a part of the path '/home/username/.config/bless/plugins'.

To get rid of this message I wanted to create the folder, but accidentally created a file of the same name instead.
This scenario causes bless to crash when invoked:

$ touch ~/.config/bless/plugins
$ bless
Unhandled Exception:
System.IO.IOException: Not a directory
  at System.IO.Enumeration.FileSystemEnumerator`1[TResult].CreateDirectoryHandle (System.String path, System.Boolean ignoreNotFound) [0x00038] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Enumeration.FileSystemEnumerator`1[TResult]..ctor (System.String directory, System.IO.EnumerationOptions options) [0x0004e] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Enumeration.FileSystemEnumerable`1+DelegateEnumerator[TResult]..ctor (System.IO.Enumeration.FileSystemEnumerable`1[TResult] enumerable) [0x00000] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Enumeration.FileSystemEnumerable`1[TResult]..ctor (System.String directory, System.IO.Enumeration.FileSystemEnumerable`1+FindTransform[TResult] transform, System.IO.EnumerationOptions options) [0x0004b] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Enumeration.FileSystemEnumerableFactory.UserFiles (System.String directory, System.String expression, System.IO.EnumerationOptions options) [0x00014] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Directory.InternalEnumeratePaths (System.String path, System.String searchPattern, System.IO.SearchTarget searchTarget, System.IO.EnumerationOptions options) [0x00045] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Directory.GetFiles (System.String path, System.String searchPattern, System.IO.EnumerationOptions enumerationOptions) [0x00000] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Directory.GetFiles (System.String path) [0x0000b] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at Bless.Plugins.PluginManager..ctor (System.Type pluginType, System.Object[] args) [0x000dd] in <d27d9b4b882f4dee992f297ab2fa860e>:0 
  at Bless.Plugins.PluginManager.AddForType (System.Type pluginType, System.Object[] args) [0x00000] in <d27d9b4b882f4dee992f297ab2fa860e>:0 
  at BlessMain..ctor (System.String[] args) [0x00453] in <e2904a26df0348ae996849b2f4e8293c>:0 
  at BlessMain.Main (System.String[] args) [0x00000] in <e2904a26df0348ae996849b2f4e8293c>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.IOException: Not a directory
  at System.IO.Enumeration.FileSystemEnumerator`1[TResult].CreateDirectoryHandle (System.String path, System.Boolean ignoreNotFound) [0x00038] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Enumeration.FileSystemEnumerator`1[TResult]..ctor (System.String directory, System.IO.EnumerationOptions options) [0x0004e] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Enumeration.FileSystemEnumerable`1+DelegateEnumerator[TResult]..ctor (System.IO.Enumeration.FileSystemEnumerable`1[TResult] enumerable) [0x00000] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Enumeration.FileSystemEnumerable`1[TResult]..ctor (System.String directory, System.IO.Enumeration.FileSystemEnumerable`1+FindTransform[TResult] transform, System.IO.EnumerationOptions options) [0x0004b] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Enumeration.FileSystemEnumerableFactory.UserFiles (System.String directory, System.String expression, System.IO.EnumerationOptions options) [0x00014] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Directory.InternalEnumeratePaths (System.String path, System.String searchPattern, System.IO.SearchTarget searchTarget, System.IO.EnumerationOptions options) [0x00045] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Directory.GetFiles (System.String path, System.String searchPattern, System.IO.EnumerationOptions enumerationOptions) [0x00000] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.IO.Directory.GetFiles (System.String path) [0x0000b] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at Bless.Plugins.PluginManager..ctor (System.Type pluginType, System.Object[] args) [0x000dd] in <d27d9b4b882f4dee992f297ab2fa860e>:0 
  at Bless.Plugins.PluginManager.AddForType (System.Type pluginType, System.Object[] args) [0x00000] in <d27d9b4b882f4dee992f297ab2fa860e>:0 
  at BlessMain..ctor (System.String[] args) [0x00453] in <e2904a26df0348ae996849b2f4e8293c>:0 
  at BlessMain.Main (System.String[] args) [0x00000] in <e2904a26df0348ae996849b2f4e8293c>:0

I'm running Bless 0.6.0 on a Ubuntu (Focal) machine

$ uame -a
Linux mymachine 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

The problem can obviously be fixed by creating a folder in ~/.config/bless/plugins instead of a file.
Opening a ticket anyway due to application crash caused by an unhandled exception.

Layouts shipped with bless miss highlight-on-selection feature

When copying the layout files from git-src/data/ into ~/.config/bless/layouts/, a feature is gone:
By selecting one or several bytes, other locations of the same byte sequence is highlighted.

Only after removing the layouts from the config folder and restarting bless, the feature is back.

Bless crashes on reloading file if it becomes less in size

When you edit the file in Bless and then edit the file outside of Bless, bless asks to reload or ignore the changes. When new size of the file is smaller, and all the data is selected (ctrl+a), Bless crashes on reload.

How to reproduce:

  1. echo 1234567890 > test.bin
  2. Open test.bin in Bless
  3. Press ctrl+a in Bless
  4. echo 1234 > test.bin
  5. Press reload in Bless
  6. Bless crashes
Exception in Gtk# callback delegate
  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
System.IndexOutOfRangeException: ByteBuffer[5]
  at Bless.Buffers.ByteBuffer.get_Item (System.Int64 index) [0x0004c] in <c2988b8c99eb458fa3ad609bd93e4a45>:0 
  at Bless.Buffers.ByteBuffer.RangeToByteArray (Bless.Util.IRange range) [0x0002e] in <c2988b8c99eb458fa3ad609bd93e4a45>:0 
  at Bless.Gui.Plugins.PatternHighlighter.BeforeRender (Bless.Gui.Areas.AreaGroup ag) [0x00067] in <561c6d16058249b594bef4dc188f5293>:0 
  at Bless.Gui.Areas.AreaGroup.Render (System.Boolean force) [0x0001d] in <750a4b64d25f4095b052e511c19ad2b3>:0 
  at Bless.Gui.Areas.AreaGroup.<SetChanged>m__0 (System.Object , System.EventArgs ) [0x00055] in <750a4b64d25f4095b052e511c19ad2b3>:0 
  at Gtk.Application+InvokeCB.Invoke () [0x00000] in <7aab76e87bce48a4b45cf7fa613cb70c>:0 
  at GLib.Timeout+TimeoutProxy.Invoke (System.IntPtr data) [0x00000] in <ed39f21b9e9343dcbd442a17ad356a9f>:0 
  at GLib.SourceProxy.HandlerInternal (System.IntPtr data) [0x00000] in <ed39f21b9e9343dcbd442a17ad356a9f>:0 
  at GLib.ExceptionManager.RaiseUnhandledException (System.Exception e, System.Boolean is_terminal) [0x00000] in <ed39f21b9e9343dcbd442a17ad356a9f>:0 
  at GLib.SourceProxy.HandlerInternal (System.IntPtr data) [0x00000] in <ed39f21b9e9343dcbd442a17ad356a9f>:0 
  at Gtk.Application.gtk_main () [0x00000] in <7aab76e87bce48a4b45cf7fa613cb70c>:0 
  at Gtk.Application.Run () [0x00000] in <7aab76e87bce48a4b45cf7fa613cb70c>:0 
  at BlessMain..ctor (System.String[] args) [0x00000] in <ec18755d4cac4c61aedeff7956353145>:0 
  at BlessMain.Main (System.String[] args) [0x00000] in <ec18755d4cac4c61aedeff7956353145>:0

Minimum number of columns

The window of Bless can be resized only until a minimum size, that in my case equals to 12 columns in the byte viewer.

image

But sometimes, it would be helfpul to reduce even more the width, so that the number of columns matches with the byte alignment. For example, if a binary file has an array of 8-byte words, one can not align that well right now (and I would prefer not having to resize to 16).

Maybe the resizing of the window could be decoupled from the resizing of the number of columns shown in the byte visualizer?
The remaining columns could be filled with empty spaces maybe?

Or maybe that in the settings, one could select the minimum number of columns, so that it can be changed from the default 12 to a custom number?

Default background color

The default background (displayed at the far right end after all configured areas) is always white and I have not figured out how to change that. For dark layouts it would be great if there is a way to change these color too.

Bless 0.6.0 crash when save changes.

hi i am using Bless 0.6.0 unter RaspiOS (Debian Bullseye).
when i have opend multiple files in Bless, modified one file and close the Tab of the modilied file i get asked if i want to save the modified file. when i click to save changes, Bless crashes.

$ bless
Could not find a part of the path '/home/pi/.config/bless/plugins'.
Could not find a part of the path '/home/pi/.config/bless/plugins'.
Could not find a part of the path '/home/pi/.config/bless/plugins'.
Could not find file "/home/pi/.config/bless/export_patterns"
Marshaling clicked signal
Exception in Gtk# callback delegate
  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidCastException: Specified cast is not valid.
  at Bless.Gui.FileService.SaveFileInternal (Bless.Gui.DataView dv, System.String filename, System.Boolean synchronous) [0x0014e] in <f26016c40a674b7789dd9371bd25f3a1>:0 
  at Bless.Gui.FileService.SaveFile (Bless.Gui.DataView dv, System.String filename, System.Boolean forceSaveAs, System.Boolean synchronous) [0x0005f] in <f26016c40a674b7789dd9371bd25f3a1>:0 
  at Bless.Gui.FileService.AskForSaveIfFileChanged (Bless.Gui.DataView dv) [0x00041] in <f26016c40a674b7789dd9371bd25f3a1>:0 
  at Bless.Gui.FileService.CloseFile (Bless.Gui.DataView dv) [0x00011] in <f26016c40a674b7789dd9371bd25f3a1>:0 
  at Bless.Gui.DataBookTabLabel.OnCloseClicked (System.Object o, System.EventArgs args) [0x00000] in <f26016c40a674b7789dd9371bd25f3a1>:0 
  at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
  at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0007c] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
   --- End of inner exception stack trace ---
  at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0009a] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x0010d] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x0000b] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  at GLib.Signal.ClosureInvokedCB (System.Object o, GLib.ClosureInvokedArgs args) [0x0006d] in <918680a31aa84cb89cfa7cab56ea29b8>:0 
  at GLib.SignalClosure.Invoke (GLib.ClosureInvokedArgs args) [0x0000c] in <918680a31aa84cb89cfa7cab56ea29b8>:0 
  at GLib.SignalClosure.MarshalCallback (System.IntPtr raw_closure, System.IntPtr return_val, System.UInt32 n_param_vals, System.IntPtr param_values, System.IntPtr invocation_hint, System.IntPtr marshal_data) [0x0006c] in <918680a31aa84cb89cfa7cab56ea29b8>:0 
  at GLib.ExceptionManager.RaiseUnhandledException (System.Exception e, System.Boolean is_terminal) [0x00000] in <918680a31aa84cb89cfa7cab56ea29b8>:0 
  at GLib.SignalClosure.MarshalCallback (System.IntPtr raw_closure, System.IntPtr return_val, System.UInt32 n_param_vals, System.IntPtr param_values, System.IntPtr invocation_hint, System.IntPtr marshal_data) [0x00000] in <918680a31aa84cb89cfa7cab56ea29b8>:0 
  at Gtk.Application.gtk_main () [0x00000] in <91487213bf394f4aaf87012594abed2f>:0 
  at Gtk.Application.Run () [0x00000] in <91487213bf394f4aaf87012594abed2f>:0 
  at BlessMain..ctor (System.String[] args) [0x00000] in <e2904a26df0348ae996849b2f4e8293c>:0 
  at BlessMain.Main (System.String[] args) [0x00000] in <e2904a26df0348ae996849b2f4e8293c>:0

EDIT: Bless will not crash, when i save changes manually ([Ctrl]+[S]) and close then the tabe

[Feature] Highlight multiple segments

It would be helpful to be able to highlight many sections that I am certain I have identified (header, independent data segment). I'm currently reverse-engineering an old proprietary file format from the 90s and as I learn more, it would be amazing to be able to put that context/knowledge straight into Bless. Being able to highlight commented sections would be even more helpful.

This would require saving a metadata file alongside the binary, maybe in JSON format, containing something like:

{"Highlight": { "begin" : "0", "end" : "9", "color" : "yellow", "comment" : "This seems to be the header"}}

{"Highlight": { "begin" : "534", "end" : "579", "color" : "red", "comment" : "Most likely the embedded image"}}

Status bar does not show all information

2019-05-21-111647

The status bar at the bottom of bless shows the current selection:

Selection 0x592c to 0x592f (0x...)

But the three dots never disappear, no matter how wide I make the window, and no matter how small I make sizable status area on the left.

There should be a way to see the full selection status.

Bless crashes when closing

System Ubuntu 18.04 (64bit).

Problem: Bless crashes when closing after opening a file.

Steps to reproduce issue: Start bless -> open any file -> close bless. Issue does not happen if no file is opened.

Command line output:

mahesh@home:~$ bless
Root element is missing.
Directory '/home/mahesh/.config/bless/plugins' not found.
Directory '/home/mahesh/.config/bless/plugins' not found.
Directory '/home/mahesh/.config/bless/plugins' not found.
Could not find file "/home/mahesh/.config/bless/export_patterns".
Root element is missing.
Document does not have a root element.
Sharing violation on path /home/mahesh/.config/bless/preferences.xml
Sharing violation on path /home/mahesh/.config/bless/preferences.xml
Sharing violation on path /home/mahesh/.config/bless/preferences.xml
Document does not have a root element.
free(): invalid pointer
Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) GLib.SList.g_free (intptr) <0x0005f>
  at GLib.ListBase.Empty () <0x0013c>
  at GLib.ListBase.Dispose (bool) <0x0000f>
  at GLib.ListBase.Finalize () <0x0001d>
  at (wrapper runtime-invoke) object.runtime_invoke_virtual_void__this__ (object,intptr,intptr,intptr) <0x00068>

Native stacktrace:

	mono(+0xc8514) [0x55895faeb514]
	/lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x7fabc40d3890]
	/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7) [0x7fabc3af6e97]
	/lib/x86_64-linux-gnu/libc.so.6(abort+0x141) [0x7fabc3af8801]
	/lib/x86_64-linux-gnu/libc.so.6(+0x89897) [0x7fabc3b41897]
	/lib/x86_64-linux-gnu/libc.so.6(+0x9090a) [0x7fabc3b4890a]
	/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4cc) [0x7fabc3b4fe1c]
	[0x40992b80]

Debug info from gdb:

[New LWP 4241]
[New LWP 4242]
[New LWP 4243]
[New LWP 4244]
[New LWP 4245]
[New LWP 4374]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007fabc40cef85 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7ffc97fdb250, expected=0, futex_word=0x5589618b9e70) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
205	../sysdeps/unix/sysv/linux/futex-internal.h: No such file or directory.
  Id   Target Id         Frame 
* 1    Thread 0x7fabc4e5d780 (LWP 4240) "Main" 0x00007fabc40cef85 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7ffc97fdb250, expected=0, futex_word=0x5589618b9e70) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  2    Thread 0x7fabc2fff700 (LWP 4241) "SGen worker" 0x00007fabc40ce9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55895ffdea0c) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  3    Thread 0x7fabc3689700 (LWP 4242) "Finalizer" 0x00007fabc40d323a in __waitpid (pid=4396, stat_loc=0x7fabc36879ac, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
  4    Thread 0x7fabb2313700 (LWP 4243) "dconf worker" 0x00007fabc3bccbf9 in __GI___poll (fds=0x558961b237f0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  5    Thread 0x7fabb1b12700 (LWP 4244) "gmain" 0x00007fabc3bccbf9 in __GI___poll (fds=0x7fabac0074c0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  6    Thread 0x7fabb1311700 (LWP 4245) "gdbus" 0x00007fabc3bccbf9 in __GI___poll (fds=0x7faba8004920, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  7    Thread 0x7fab9d122700 (LWP 4374) "pool" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38

Thread 7 (Thread 0x7fab9d122700 (LWP 4374)):
#0  0x00007fabc3bd3839 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fabb9c2e29a in g_cond_wait_until () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fabb9bbb4f1 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fabb9bbbaac in g_async_queue_timeout_pop () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fabb9c10bae in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fabb9c10105 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fabc40c86db in start_thread (arg=0x7fab9d122700) at pthread_create.c:463
#7  0x00007fabc3bd988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fabb1311700 (LWP 4245)):
#0  0x00007fabc3bccbf9 in __GI___poll (fds=0x7faba8004920, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fabb9be8539 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fabb9be88d2 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fabba638026 in  () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007fabb9c10105 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fabc40c86db in start_thread (arg=0x7fabb1311700) at pthread_create.c:463
#6  0x00007fabc3bd988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fabb1b12700 (LWP 4244)):
#0  0x00007fabc3bccbf9 in __GI___poll (fds=0x7fabac0074c0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fabb9be8539 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fabb9be864c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fabb9be8691 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fabb9c10105 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fabc40c86db in start_thread (arg=0x7fabb1b12700) at pthread_create.c:463
#6  0x00007fabc3bd988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fabb2313700 (LWP 4243)):
#0  0x00007fabc3bccbf9 in __GI___poll (fds=0x558961b237f0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fabb9be8539 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fabb9be864c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fabb231b36d in  () at /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007fabb9c10105 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fabc40c86db in start_thread (arg=0x7fabb2313700) at pthread_create.c:463
#6  0x00007fabc3bd988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fabc3689700 (LWP 4242)):
#0  0x00007fabc40d323a in __waitpid (pid=4396, stat_loc=0x7fabc36879ac, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
#1  0x000055895faeb5f0 in  ()
#2  0x00007fabc40d3890 in <signal handler called> () at /lib/x86_64-linux-gnu/libpthread.so.0
#3  0x00007fabc3af6e97 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#4  0x00007fabc3af8801 in __GI_abort () at abort.c:79
#5  0x00007fabc3b41897 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fabc3c6eb9a "%s\n") at ../sysdeps/posix/libc_fatal.c:181
#6  0x00007fabc3b4890a in malloc_printerr (str=str@entry=0x7fabc3c6cd88 "free(): invalid pointer") at malloc.c:5350
#7  0x00007fabc3b4fe1c in _int_free (have_lock=0, p=0x5589623b39a0, av=0x7fabc3ea3c40 <main_arena>) at malloc.c:4157
#8  0x00007fabc3b4fe1c in __GI___libc_free (mem=0x5589623b39b0) at malloc.c:3124
#9  0x0000000040992b80 in  ()
#10 0x00005589623b39b0 in  ()
#11 0x00005589618c6190 in  ()
#12 0x00005589618c6190 in  ()
#13 0x0000000000000000 in  ()

Thread 2 (Thread 0x7fabc2fff700 (LWP 4241)):
#0  0x00007fabc40ce9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55895ffdea0c) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fabc40ce9f3 in __pthread_cond_wait_common (abstime=0x0, mutex=0x55895ffdea20, cond=0x55895ffde9e0) at pthread_cond_wait.c:502
#2  0x00007fabc40ce9f3 in __pthread_cond_wait (cond=0x55895ffde9e0, mutex=0x55895ffdea20) at pthread_cond_wait.c:655
#3  0x000055895fc73863 in  ()
#4  0x00007fabc40c86db in start_thread (arg=0x7fabc2fff700) at pthread_create.c:463
#5  0x00007fabc3bd988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fabc4e5d780 (LWP 4240)):
#0  0x00007fabc40cef85 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7ffc97fdb250, expected=0, futex_word=0x5589618b9e70) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  0x00007fabc40cef85 in __pthread_cond_wait_common (abstime=0x7ffc97fdb250, mutex=0x5589618b9e20, cond=0x5589618b9e48) at pthread_cond_wait.c:539
#2  0x00007fabc40cef85 in __pthread_cond_timedwait (cond=0x5589618b9e48, mutex=0x5589618b9e20, abstime=0x7ffc97fdb250) at pthread_cond_wait.c:667
#3  0x000055895fc79dff in  ()
#4  0x000055895fc906b4 in  ()
#5  0x000055895fc0799b in  ()
#6  0x000055895fc083fc in mono_domain_finalize ()
#7  0x000055895fa5d5a4 in  ()
#8  0x000055895fabc81c in mono_main ()
#9  0x000055895fa5b236 in  ()
#10 0x00007fabc3ad9b97 in __libc_start_main (main=0x55895fa5b130, argc=2, argv=0x7ffc97fdb768, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc97fdb758) at ../csu/libc-start.c:310
#11 0x000055895fa5b60a in _start ()

=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

/usr/bin/bless: line 3:  4240 Aborted                 (core dumped) mono "/usr/lib/bless/bless.exe" "$@"(url)

Feature request: Copy byte offset

When taking notes during reverse engineering, I often need to copy relevant byte positions (offsets) to my notes.

It would be nice if I could right-click a byte and there was a "copy offset" context menu entry.

Marking a selection of text makes the program crash

Not sure where I should post this (couldn't find a dedicated bug-report area), but here goes:
I'm trying to select a decent amount of data from this file but the program crashes every time. Notice I haven't copied anything, it crashes while I'm marking the data.
For reference, doing the same with the same file in wxHexEditor works fine.

Video showing what I'm doing:
https://i.imgur.com/HmPkdGt.mp4

Specs:
Debian 5.10.46-4kali1
Running in VMware with plenty of resources.
Host OS is running win10, i7-7700k, 16gb ram.

The file I'm trying to copy from:
dolls

Crash trace:

=================================================================
        Native Crash Reporting
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
        Native stacktrace:
=================================================================
        0x564fd86c8f05 - mono : (null)
        0x564fd86c92ac - mono : (null)
        0x564fd8674a4a - mono : (null)
        0x564fd86c84df - mono : (null)
        0x7f8e98cc7200 - /lib/x86_64-linux-gnu/libpthread.so.0 : (null)
        0x7f8e98afc8a1 - /lib/x86_64-linux-gnu/libc.so.6 : gsignal
        0x7f8e98ae6546 - /lib/x86_64-linux-gnu/libc.so.6 : abort
        0x7f8e98b3deb8 - /lib/x86_64-linux-gnu/libc.so.6 : (null)
        0x7f8e98b4591a - /lib/x86_64-linux-gnu/libc.so.6 : (null)
        0x7f8e98b46cf4 - /lib/x86_64-linux-gnu/libc.so.6 : (null)
        0x7f8e98b4a9b4 - /lib/x86_64-linux-gnu/libc.so.6 : cfree
        0x40fcc363 - Unknown

=================================================================
        Telemetry Dumper:
=================================================================
Pkilling 0x7f8e6effd640 from 0x7f8e986b7640
Pkilling 0x7f8e6dffb640 from 0x7f8e986b7640
Pkilling 0x7f8e8c4e2640 from 0x7f8e986b7640
Pkilling 0x7f8e98abb740 from 0x7f8e986b7640
Pkilling 0x7f8e6d7fa640 from 0x7f8e986b7640
Pkilling 0x7f8e8f0e8640 from 0x7f8e986b7640
Pkilling 0x7f8e8c2e1640 from 0x7f8e986b7640
Entering thread summarizer pause from 0x7f8e986b7640
Finished thread summarizer pause from 0x7f8e986b7640.

Waiting for dumping threads to resume

=================================================================
        External Debugger Dump:
=================================================================
[New LWP 3829]
[New LWP 3830]
[New LWP 3843]
[New LWP 3844]
[New LWP 3852]
[New LWP 3861]
[New LWP 3862]
[New LWP 3863]
[New LWP 3864]
[New LWP 3868]
[New LWP 3869]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f8e98bb287f in poll () from /lib/x86_64-linux-gnu/libc.so.6
  Id   Target Id                                          Frame 
* 1    Thread 0x7f8e98abb740 (LWP 3828) "mono"            0x00007f8e98bb287f in poll () from /lib/x86_64-linux-gnu/libc.so.6
  2    Thread 0x7f8e97fff640 (LWP 3829) "SGen worker"     0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0
  3    Thread 0x7f8e986b7640 (LWP 3830) "Finalizer"       0x00007f8e98b8aa67 in wait4 () from /lib/x86_64-linux-gnu/libc.so.6
  4    Thread 0x7f8e8e073640 (LWP 3843) "gmain"           0x00007f8e98bb287f in poll () from /lib/x86_64-linux-gnu/libc.so.6
  5    Thread 0x7f8e8e8e7640 (LWP 3844) "gdbus"           0x00007f8e98bb287f in poll () from /lib/x86_64-linux-gnu/libc.so.6
  6    Thread 0x7f8e7cce3640 (LWP 3852) "pool-bless"      0x00007f8e98bb7f79 in syscall () from /lib/x86_64-linux-gnu/libc.so.6
  7    Thread 0x7f8e6d7fa640 (LWP 3861) "Timer-Scheduler" 0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0
  8    Thread 0x7f8e6dffb640 (LWP 3862) "Timer-Scheduler" 0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0
  9    Thread 0x7f8e8c4e2640 (LWP 3863) "Thread Pool Wor" 0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0
  10   Thread 0x7f8e8c2e1640 (LWP 3864) "Thread Pool Wor" 0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0
  11   Thread 0x7f8e7e4e6640 (LWP 3868) "Thread Pool Wor" 0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0
  12   Thread 0x7f8e7dce5640 (LWP 3869) "Thread Pool Wor" 0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0

Thread 12 (Thread 0x7f8e7dce5640 (LWP 3869) "Thread Pool Wor"):
#0  0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f8e98cc5663 in __new_sem_wait_slow64.constprop.0 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x0000564fd88dbbde in ?? ()
#3  0x0000564fd8873397 in ?? ()
#4  0x00007f8e98cbcd80 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007f8e98bbe76f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 11 (Thread 0x7f8e7e4e6640 (LWP 3868) "Thread Pool Wor"):
#0  0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f8e98cc5663 in __new_sem_wait_slow64.constprop.0 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x0000564fd88dbbde in ?? ()
#3  0x0000564fd8873397 in ?? ()
#4  0x00007f8e98cbcd80 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007f8e98bbe76f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 10 (Thread 0x7f8e8c2e1640 (LWP 3864) "Thread Pool Wor"):
#0  0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f8e98cc5663 in __new_sem_wait_slow64.constprop.0 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x0000564fd88dbbde in ?? ()
#3  0x0000564fd8873397 in ?? ()
#4  0x00007f8e98cbcd80 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007f8e98bbe76f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 9 (Thread 0x7f8e8c4e2640 (LWP 3863) "Thread Pool Wor"):
#0  0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f8e98cc5663 in __new_sem_wait_slow64.constprop.0 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x0000564fd88dbbde in ?? ()
#3  0x0000564fd8873397 in ?? ()
#4  0x00007f8e98cbcd80 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007f8e98bbe76f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 8 (Thread 0x7f8e6dffb640 (LWP 3862) "Timer-Scheduler"):
#0  0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f8e98cc2f44 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x0000564fd893453a in ?? ()
#3  0x0000564fd893fc51 in ?? ()
#4  0x0000564fd88dc8e3 in ?? ()
#5  0x0000564fd8873397 in ?? ()
#6  0x00007f8e98cbcd80 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7  0x00007f8e98bbe76f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 7 (Thread 0x7f8e6d7fa640 (LWP 3861) "Timer-Scheduler"):
#0  0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f8e98cc2c30 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x0000564fd893459d in ?? ()
#3  0x0000564fd8893a9a in ?? ()
#4  0x0000564fd8895258 in ?? ()
#5  0x0000564fd8895d38 in ?? ()
#6  0x0000564fd8874b1a in ?? ()
#7  0x0000564fd8801fc8 in ?? ()
#8  0x0000000040fc3b6f in ?? ()
#9  0x00007f8e9830abe8 in ?? ()
#10 0x00007f8e9830ace0 in ?? ()
#11 0x00007f8e9830ab18 in ?? ()
#12 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f8e7cce3640 (LWP 3852) "pool-bless"):
#0  0x00007f8e98bb7f79 in syscall () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f8e94b498f2 in g_cond_wait_until () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f8e94ac5611 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8e94ac5c32 in g_async_queue_timeout_pop () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f8e94b20bd9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f8e94b2026d in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f8e98cbcd80 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7  0x00007f8e98bbe76f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 5 (Thread 0x7f8e8e8e7640 (LWP 3844) "gdbus"):
#0  0x00007f8e98bb287f in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f8e94af6a9e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f8e94af6dfb in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8e94db7c36 in ?? () from /lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f8e94b2026d in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f8e98cbcd80 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f8e98bbe76f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 4 (Thread 0x7f8e8e073640 (LWP 3843) "gmain"):
#0  0x00007f8e98bb287f in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f8e94af6a9e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f8e94af6bbf in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8e94af6c11 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f8e94b2026d in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f8e98cbcd80 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f8e98bbe76f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7f8e986b7640 (LWP 3830) "Finalizer"):
#0  0x00007f8e98b8aa67 in wait4 () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x0000564fd86c910f in ?? ()
#2  0x0000564fd86c92ac in ?? ()
#3  0x0000564fd8674a4a in ?? ()
#4  0x0000564fd86c84df in ?? ()
#5  <signal handler called>
#6  0x00007f8e98afc8a1 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x00007f8e98ae6546 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x00007f8e98b3deb8 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#9  0x00007f8e98b4591a in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#10 0x00007f8e98b46cf4 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#11 0x00007f8e98b4a9b4 in free () from /lib/x86_64-linux-gnu/libc.so.6
#12 0x0000000040fcc363 in ?? ()
#13 0x0000564fd9f93750 in ?? ()
#14 0x00007f8e986b6c40 in ?? ()
#15 0x0000564fd96c9450 in ?? ()
#16 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f8e97fff640 (LWP 3829) "SGen worker"):
#0  0x00007f8e98cc90fa in __futex_abstimed_wait_common64 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f8e98cc2c30 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x0000564fd892669b in ?? ()
#3  0x00007f8e98cbcd80 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007f8e98bbe76f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7f8e98abb740 (LWP 3828) "mono"):
#0  0x00007f8e98bb287f in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f8e94af6a9e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f8e94af6dfb in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8e9533fb2a in gtk_main () from /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#4  0x0000000040fb1860 in ?? ()
#5  0x0000000000000000 in ?? ()
[Inferior 1 (process 3828) detached]

=================================================================
        Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x7f8e98afc8a1):0x7f8e98afc891  d2 4c 89 ce bf 02 00 00 00 b8 0e 00 00 00 0f 05  .L..............
0x7f8e98afc8a1  48 8b 84 24 08 01 00 00 64 48 2b 04 25 28 00 00  H..$....dH+.%(..
0x7f8e98afc8b1  00 75 20 44 89 c0 48 81 c4 18 01 00 00 c3 90 48  .u D..H........H
0x7f8e98afc8c1  8b 15 89 15 19 00 f7 d8 41 b8 ff ff ff ff 64 89  ........A.....d.

=================================================================
        Managed Stacktrace:
=================================================================
          at <unknown> <0xffffffff>
          at GLib.SList:g_free <0x000a2>
          at GLib.ListBase:Empty <0x001a4>
          at GLib.ListBase:Dispose <0x0002b>
          at GLib.ListBase:Finalize <0x00035>
          at System.Object:runtime_invoke_virtual_void__this__ <0x0008c>
=================================================================
Aborted

Dark UI

I'm using XFCE4 using dark mode and Bless is one of the last programs which has problems displaying parts of the GUI:
grafik

I'm not sure if this is a duplicate of #41

Flatpak version

I've made a manifest to publish the app on Flathub. If you want push access to it or have anything else on your mind, feel free to drop by.

flathub/flathub#1487

No fonts?

The edit window displays generic rectangles instead of characters. The address, the raw bytes and the textual form columns all show rectangles.
The UI - menus, tab title, tools, conversion table all display fonts properly.
Tried the standard repo version in PopOs 20.04 as well as the flatpak (0.6.2) version.

"gtk_box_pack: assertion 'child->parent == NULL' failed" on search

When search for a text ("mdat" in my case) in a 1.8 GB file with Bless 0.6.1 on Arch Linux, I get a large number of the following errors on the terminal:

(bless:25390): Gtk-CRITICAL **: 14:26:14.204: gtk_box_pack: assertion 'child->parent == NULL' failed
(bless:25390): Gtk-CRITICAL **: 14:26:14.205: gtk_box_pack: assertion 'child->parent == NULL' failed
(bless:25390): Gtk-CRITICAL **: 14:26:14.205: gtk_box_pack: assertion 'child->parent == NULL' failed
(bless:25390): Gtk-CRITICAL **: 14:26:14.205: gtk_box_pack: assertion 'child->parent == NULL' failed

Console warnings

bless 0.6.3
These are the warnings:

$ bless file 
Failed to open plugins directory: Could not find a part of the path '/home/user/.config/bless/plugins'.
Failed to open plugins directory: Could not find a part of the path '/home/user/.config/bless/plugins'.
Failed to open plugins directory: Could not find a part of the path '/home/user/.config/bless/plugins'.
Could not find file "/home/user/.config/bless/export_patterns"

Error building project: 'Range' is an ambiguous reference

"make" returns this error for 6 source files:

error CS0104: 'Range' is an ambiguous reference between 'System.Range' and 'Bless.Util.Range'

I have solved the issue editing the sources and explicitly choosing which I guess is the right class:

using Range=Bless.Util.Range;

The files where the compiler complains are:

src/buffers/ByteBuffer.cs
src/gui/DataBookFinder.cs
src/gui/areas/AreaGroup.cs
src/tools/find/FindOperations.cs
src/tools/find/IFindStrategy.cs
src/tools/find/IFinder.cs

My mono version is:

Mono JIT compiler version 6.4.0.198 (tarball Tue Sep 24 01:20:30 UTC 2019)

Crash when switching back to first file tab: free(): invalid pointer

Bless (latest git) crashed after I opened two files, then switched back to the first to continue inspecting it. Out of nowhere the window was gone after some? seconds.

free(): invalid pointer
Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) GLib.SList.g_free (intptr) [0x00002] in <5a439e0caae7469886e7119d9f6bc621>:0
  at GLib.ListBase.Empty () [0x000b5] in <5a439e0caae7469886e7119d9f6bc621>:0
  at GLib.ListBase.Dispose (bool) [0x00000] in <5a439e0caae7469886e7119d9f6bc621>:0
  at GLib.ListBase.Finalize () [0x00000] in <5a439e0caae7469886e7119d9f6bc621>:0
  at (wrapper runtime-invoke) object.runtime_invoke_virtual_void__this__ (object,intptr,intptr,intptr) [0x0001e] in <d0e12f672b88444ab4b6d9b2ecf20142>:0

bless-crash.log

Reproducible crash when searching for specific byte sequence

My system: 4.20.5-arch1-1-ARCH GNU/Linux
Mono version: 5.16.0
GTK2 version: 2.24.32-1
GTK# version: 2.12.45-1
Steps to reproduce:

  • Open any "Find" dialog box, with any document
  • Type "0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 209 1" into it
  • Select decimal, octal or binary as number base. Hexadecimal and text won't work
  • Start the search

It does not matter what, or even if, a file was opened. Crash log: pastebin link.

Compile issues on Ubuntu

I am experiencing issues trying to compile Bless on Ubuntu (19.10 development branch).
I did not install scrollkeeper (AFAIK it is not available in Ubuntu's repos), so it should - according to my understanding of the docs - not do any scrollkeeper related stuff. However, make is failing, and the output indicates that it's trying to do something with scrollkeeper.

Here's the relevant output from make:

Making all in user
make[2]: Entering directory '/home/dev/bless-0.6.2/doc/user'
if [ -x `which scrollkeeper-preinstall` ]; then \
    scrollkeeper-preinstall file:/usr/local/share/doc/bless/user/bless-manual.xml bless-manual.omf.in bless-manual.omf; \
else \
    cp bless-manual.omf.in bless-manual.omf; \
fi
/bin/bash: line 1: scrollkeeper-preinstall: command not found
make[2]: *** [Makefile:449: bless-manual.omf] Error 127
make[2]: Leaving directory '/home/dev/bless-0.6.2/doc/user'
make[1]: *** [Makefile:349: all-recursive] Error 1
make[1]: Leaving directory '/home/dev/bless-0.6.2/doc'
make: *** [Makefile:386: all-recursive] Error 1

I am using the 0.6.2 release tarball.

[Feature] Byte-by-Byte 2-File Comparison

The ability to side-by-side compare two binary files, similar to HxD for Windows, would be very much appreciated. I've often found one feature to be very useful when developing/reverse-engineering. HxD can compare two files and step through differences. Imagine perhaps, Meld but built for binaries.

Missing config file in 0.6.1 release

Hello,

I don't see "config" file to install it. I'm aware of issue #4.

The released tarball doesn't have "config" file. Also, when I try to run "./autogen.sh" file, it doesn't find other files.

./autogen.sh: line 3: autopoint: command not found
./autogen.sh: line 4: aclocal: command not found
./autogen.sh: line 5: automake: command not found
./autogen.sh: line 6: autoconf: command not found

Please advice.

Thank you.

New release

Hey, I maintain bless in Arch Linux and I'd like to request a new official release of bless so that building becomes a bit less tedious.

Crash on specific file when selecting

Reproduce

  • start Bless
  • Open attached file "freenode.bmp"
  • (bless loads the file)
  • select some text inside the hex view
  • Bless crashes

Running Bless in terminal and reproducing the error prints this to the console:

Could not find a part of the path '/home/myuser/.config/bless/plugins'.
Could not find a part of the path '/home/myuser/.config/bless/plugins'.
Could not find a part of the path '/home/myuser/.config/bless/plugins'.
Could not find file "/home/myuser/.config/bless/export_patterns"
free(): invalid pointer

=================================================================
   Native Crash Reporting
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
   Native stacktrace:
=================================================================
   0x55d13fa4beb5 - mono : (null)
   0x55d13fa4c250 - mono : (null)
   0x55d13f9f9129 - mono : (null)
   0x55d13fa4b467 - mono : (null)
   0x7f9aa8fc03c0 - /lib/x86_64-linux-gnu/libpthread.so.0 : (null)
   0x7f9aa8de418b - /lib/x86_64-linux-gnu/libc.so.6 : gsignal
   0x7f9aa8dc3859 - /lib/x86_64-linux-gnu/libc.so.6 : abort
   0x7f9aa8e2e3ee - /lib/x86_64-linux-gnu/libc.so.6 : (null)
   0x7f9aa8e3647c - /lib/x86_64-linux-gnu/libc.so.6 : (null)
   0x7f9aa8e37cac - /lib/x86_64-linux-gnu/libc.so.6 : (null)
   0x40c2aae3 - Unknown

=================================================================
   Telemetry Dumper:
=================================================================
Pkilling 0x7f9a9d6bf700 from 0x7f9aa5c87700
Pkilling 0x7f9a7f7fe700 from 0x7f9aa5c87700
Pkilling 0x7f9aa8d99780 from 0x7f9aa5c87700
Could not exec mono-hang-watchdog, expected on path '/etc/../bin/mono-hang-watchdog' (errno 2)
Entering thread summarizer pause from 0x7f9aa5c87700
Finished thread summarizer pause from 0x7f9aa5c87700.

Waiting for dumping threads to resume

=================================================================
   External Debugger Dump:
=================================================================
[New LWP 51283]
[New LWP 51284]
[New LWP 51286]
[New LWP 51287]
[New LWP 51297]
[New LWP 51308]
[New LWP 51307]
[New LWP 51309]
[New LWP 51310]
[New LWP 51311]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f9aa8eb3aff in __GI___poll (fds=0x55d14101cdd0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
29	../sysdeps/unix/sysv/linux/poll.c: No such file or directory.
  Id   Target Id                                           Frame 
* 1    Thread 0x7f9aa8d99780 (LWP 51282) "mono"            0x00007f9aa8eb3aff in __GI___poll (fds=0x55d14101cdd0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  2    Thread 0x7f9aa7fff700 (LWP 51283) "SGen worker"     futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55d13fe3de08) at ../sysdeps/nptl/futex-internal.h:183
  3    Thread 0x7f9aa5c87700 (LWP 51284) "Finalizer"       0x00007f9aa8e83dff in __GI___wait4 (pid=51312, stat_loc=0x7f9aa5c85554, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
  4    Thread 0x7f9a9d34c700 (LWP 51286) "gmain"           0x00007f9aa8eb3aff in __GI___poll (fds=0x55d141248170, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  5    Thread 0x7f9a9cb4b700 (LWP 51287) "gdbus"           0x00007f9aa8eb3aff in __GI___poll (fds=0x7f9a940032e0, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  6    Thread 0x7f9a7effd700 (LWP 51297) "pool-bless"      syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
  7    Thread 0x7f9a8df0c700 (LWP 51308) "mono"            futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f9a8df0bca0, clockid=<optimized out>, expected=0, futex_word=0x55d13fe3e488) at ../sysdeps/nptl/futex-internal.h:320
  8    Thread 0x7f9a8cf0a700 (LWP 51307) "Thread Pool Wor" 0x00007f9aa8fbe618 in futex_abstimed_wait_cancelable (private=0, abstime=0x7f9a8cf09d50, clockid=0, expected=0, futex_word=0x55d13fe2f988) at ../sysdeps/nptl/futex-internal.h:320
  9    Thread 0x7f9a8f7fe700 (LWP 51309) "Thread Pool Wor" 0x00007f9aa8fbe618 in futex_abstimed_wait_cancelable (private=0, abstime=0x7f9a8f7fdd50, clockid=0, expected=0, futex_word=0x55d13fe2f988) at ../sysdeps/nptl/futex-internal.h:320
  10   Thread 0x7f9a8fe7c700 (LWP 51310) "Thread Pool Wor" 0x00007f9aa8fbe618 in futex_abstimed_wait_cancelable (private=0, abstime=0x7f9a8fe7bd50, clockid=0, expected=0, futex_word=0x55d13fe2f988) at ../sysdeps/nptl/futex-internal.h:320
  11   Thread 0x7f9a9d6bf700 (LWP 51311) "Thread Pool Wor" 0x00007f9aa8fbe618 in futex_abstimed_wait_cancelable (private=0, abstime=0x7f9a9d6bed50, clockid=0, expected=0, futex_word=0x55d13fe2f988) at ../sysdeps/nptl/futex-internal.h:320

Thread 11 (Thread 0x7f9a9d6bf700 (LWP 51311)):
#0  0x00007f9aa8fbe618 in futex_abstimed_wait_cancelable (private=0, abstime=0x7f9a9d6bed50, clockid=0, expected=0, futex_word=0x55d13fe2f988) at ../sysdeps/nptl/futex-internal.h:320
#1  do_futex_wait (sem=sem@entry=0x55d13fe2f988, abstime=abstime@entry=0x7f9a9d6bed50, clockid=0) at sem_waitcommon.c:112
#2  0x00007f9aa8fbe743 in __new_sem_wait_slow (sem=0x55d13fe2f988, abstime=0x7f9a9d6bed50, clockid=0) at sem_waitcommon.c:184
#3  0x000055d13fc56f81 in  ()
#4  0x000055d13fbf3f3a in  ()
#5  0x00007f9aa8fb4609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9aa8ec0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7f9a8fe7c700 (LWP 51310)):
#0  0x00007f9aa8fbe618 in futex_abstimed_wait_cancelable (private=0, abstime=0x7f9a8fe7bd50, clockid=0, expected=0, futex_word=0x55d13fe2f988) at ../sysdeps/nptl/futex-internal.h:320
#1  do_futex_wait (sem=sem@entry=0x55d13fe2f988, abstime=abstime@entry=0x7f9a8fe7bd50, clockid=0) at sem_waitcommon.c:112
#2  0x00007f9aa8fbe743 in __new_sem_wait_slow (sem=0x55d13fe2f988, abstime=0x7f9a8fe7bd50, clockid=0) at sem_waitcommon.c:184
#3  0x000055d13fc56f81 in  ()
#4  0x000055d13fbf3f3a in  ()
#5  0x00007f9aa8fb4609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9aa8ec0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7f9a8f7fe700 (LWP 51309)):
#0  0x00007f9aa8fbe618 in futex_abstimed_wait_cancelable (private=0, abstime=0x7f9a8f7fdd50, clockid=0, expected=0, futex_word=0x55d13fe2f988) at ../sysdeps/nptl/futex-internal.h:320
#1  do_futex_wait (sem=sem@entry=0x55d13fe2f988, abstime=abstime@entry=0x7f9a8f7fdd50, clockid=0) at sem_waitcommon.c:112
#2  0x00007f9aa8fbe743 in __new_sem_wait_slow (sem=0x55d13fe2f988, abstime=0x7f9a8f7fdd50, clockid=0) at sem_waitcommon.c:184
#3  0x000055d13fc56f81 in  ()
#4  0x000055d13fbf3f3a in  ()
#5  0x00007f9aa8fb4609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9aa8ec0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7f9a8cf0a700 (LWP 51307)):
#0  0x00007f9aa8fbe618 in futex_abstimed_wait_cancelable (private=0, abstime=0x7f9a8cf09d50, clockid=0, expected=0, futex_word=0x55d13fe2f988) at ../sysdeps/nptl/futex-internal.h:320
#1  do_futex_wait (sem=sem@entry=0x55d13fe2f988, abstime=abstime@entry=0x7f9a8cf09d50, clockid=0) at sem_waitcommon.c:112
#2  0x00007f9aa8fbe743 in __new_sem_wait_slow (sem=0x55d13fe2f988, abstime=0x7f9a8cf09d50, clockid=0) at sem_waitcommon.c:184
#3  0x000055d13fc56f81 in  ()
#4  0x000055d13fbf3f3a in  ()
#5  0x00007f9aa8fb4609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9aa8ec0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f9a8df0c700 (LWP 51308)):
#0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f9a8df0bca0, clockid=<optimized out>, expected=0, futex_word=0x55d13fe3e488) at ../sysdeps/nptl/futex-internal.h:320
#1  __pthread_cond_wait_common (abstime=0x7f9a8df0bca0, clockid=<optimized out>, mutex=0x55d13fe3e4a0, cond=0x55d13fe3e460) at pthread_cond_wait.c:520
#2  __pthread_cond_timedwait (cond=0x55d13fe3e460, mutex=0x55d13fe3e4a0, abstime=0x7f9a8df0bca0) at pthread_cond_wait.c:656
#3  0x000055d13fcae39e in  ()
#4  0x000055d13fcb9609 in  ()
#5  0x000055d13fc57bc3 in  ()
#6  0x000055d13fbf3f3a in  ()
#7  0x00007f9aa8fb4609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#8  0x00007f9aa8ec0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f9a7effd700 (LWP 51297)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9aa4b285a6 in g_cond_wait_until () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9aa4aab561 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9aa4aabb86 in g_async_queue_timeout_pop () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f9aa4b05279 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f9aa4b04931 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f9aa8fb4609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f9aa8ec0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f9a9cb4b700 (LWP 51287)):
#0  0x00007f9aa8eb3aff in __GI___poll (fds=0x7f9a940032e0, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f9aa4adb1ae in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9aa4adb533 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9aa4d98eda in  () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f9aa4b04931 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f9aa8fb4609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9aa8ec0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f9a9d34c700 (LWP 51286)):
#0  0x00007f9aa8eb3aff in __GI___poll (fds=0x55d141248170, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f9aa4adb1ae in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9aa4adb2e3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9aa4adb331 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f9aa4b04931 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f9aa8fb4609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9aa8ec0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f9aa5c87700 (LWP 51284)):
#0  0x00007f9aa8e83dff in __GI___wait4 (pid=51312, stat_loc=0x7f9aa5c85554, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
#1  0x000055d13fa4c0bf in  ()
#2  0x000055d13fa4c250 in  ()
#3  0x000055d13f9f9129 in  ()
#4  0x000055d13fa4b467 in  ()
#5  0x00007f9aa8fc03c0 in <signal handler called> () at /lib/x86_64-linux-gnu/libpthread.so.0
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#7  0x00007f9aa8dc3859 in __GI_abort () at abort.c:79
#8  0x00007f9aa8e2e3ee in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f9aa8f58285 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#9  0x00007f9aa8e3647c in malloc_printerr (str=str@entry=0x7f9aa8f564ae "free(): invalid pointer") at malloc.c:5347
#10 0x00007f9aa8e37cac in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:4173
#11 0x0000000040c2aae3 in  ()
#12 0x00007f9a880019c0 in  ()
#13 0x00007f9aa5c86ca0 in  ()
#14 0x000055d1408a3550 in  ()
#15 0x0000000000000000 in  ()

Thread 2 (Thread 0x7f9aa7fff700 (LWP 51283)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55d13fe3de08) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55d13fe3de20, cond=0x55d13fe3dde0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55d13fe3dde0, mutex=0x55d13fe3de20) at pthread_cond_wait.c:638
#3  0x000055d13fca0dc6 in  ()
#4  0x00007f9aa8fb4609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#5  0x00007f9aa8ec0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f9aa8d99780 (LWP 51282)):
#0  0x00007f9aa8eb3aff in __GI___poll (fds=0x55d14101cdd0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f9aa4adb1ae in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9aa4adb533 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9aa5323092 in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#4  0x0000000040c175e0 in  ()
#5  0x000055d140908ac0 in  ()
#6  0x000055d1408a7508 in  ()
#7  0x00007ffcf39fc158 in  ()
#8  0x00007ffcf39fc300 in  ()
#9  0x0000000040b5dfd0 in  ()
#10 0x000055d1408bf760 in  ()
#11 0x00007ffcf39fc070 in  ()
#12 0x00007ffcf39fba30 in  ()
#13 0x0000000000000000 in  ()
[Inferior 1 (process 51282) detached]

=================================================================
   Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x7f9aa8de418b):0x7f9aa8de417b  d2 4c 89 ce bf 02 00 00 00 b8 0e 00 00 00 0f 05  .L..............
0x7f9aa8de418b  48 8b 84 24 08 01 00 00 64 48 33 04 25 28 00 00  H..$....dH3.%(..
0x7f9aa8de419b  00 75 26 44 89 c0 48 81 c4 18 01 00 00 c3 0f 1f  .u&D..H.........
0x7f9aa8de41ab  80 00 00 00 00 48 8b 15 b9 4c 1a 00 f7 d8 41 b8  .....H...L....A.

=================================================================
   Managed Stacktrace:
=================================================================
     at <unknown> <0xffffffff>
     at GLib.SList:g_free <0x000a2>
     at GLib.ListBase:Empty <0x001a4>
     at GLib.ListBase:Dispose <0x0002b>
     at GLib.ListBase:Finalize <0x00035>
     at System.Object:runtime_invoke_virtual_void__this__ <0x0008c>
=================================================================
/usr/bin/bless: line 3: 51282 Aborted                 (core dumped) mono "/usr/lib/bless/bless.exe" "$@"

System

XUbuntu 20.04

Crash when closing file, opening another, selecting bytes: double free or corruption

I had one file open, closed it via the x in the tab, opened another file and then selected some 4 bytes. bless hang, and I had some stack information in the terminal.

double free or corruption (out)
Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) GLib.SList.g_free (intptr) [0x00002] in <5a439e0caae7469886e7119d9f6bc621>:0
  at GLib.ListBase.Empty () [0x000b5] in <5a439e0caae7469886e7119d9f6bc621>:0
  at GLib.ListBase.Dispose (bool) [0x00000] in <5a439e0caae7469886e7119d9f6bc621>:0
  at GLib.ListBase.Finalize () [0x00000] in <5a439e0caae7469886e7119d9f6bc621>:0
  at (wrapper runtime-invoke) object.runtime_invoke_virtual_void__this__ (object,intptr,intptr,intptr) [0x0001e] in <d0e12f672b88444ab4b6d9b2ecf20142>:0
/proc/self/maps:
40071000-40081000 rwxp 00000000 00:00 0 
41cce000-41d9e000 rwxp 00000000 00:00 0 
563ededcd000-563ededf8000 r--p 00000000 fe:01 530520                     /usr/bin/mono-sgen
563ededf8000-563edf0ee000 r-xp 0002b000 fe:01 530520                     /usr/bin/mono-sgen
563edf0ee000-563edf21b000 r--p 00321000 fe:01 530520                     /usr/bin/mono-sgen
563edf21c000-563edf222000 r--p 0044e000 fe:01 530520                     /usr/bin/mono-sgen
563edf222000-563edf228000 rw-p 00454000 fe:01 530520                     /usr/bin/mono-sgen
563edf228000-563edf2b9000 rw-p 00000000 00:00 0 
563edf424000-563ee00f8000 rw-p 00000000 00:00 0                          [heap]
7f6030000000-7f6030021000 rw-p 00000000 00:00 0 
7f6030021000-7f6034000000 ---p 00000000 00:00 0 
7f6038000000-7f6038021000 rw-p 00000000 00:00 0 
7f6038021000-7f603c000000 ---p 00000000 00:00 0 
7f603c000000-7f603c021000 rw-p 00000000 00:00 0 
7f603c021000-7f6040000000 ---p 00000000 00:00 0 
7f6040000000-7f6040021000 rw-p 00000000 00:00 0 
7f6040021000-7f6044000000 ---p 00000000 00:00 0 
7f6044000000-7f6044021000 rw-p 00000000 00:00 0 
7f6044021000-7f6048000000 ---p 00000000 00:00 0 
7f6048000000-7f6048021000 rw-p 00000000 00:00 0 
7f6048021000-7f604c000000 ---p 00000000 00:00 0 
7f604f7ff000-7f604f800000 ---p 00000000 00:00 0 
7f604f800000-7f6050000000 rw-p 00000000 00:00 0 
7f6050000000-7f6050021000 rw-p 00000000 00:00 0 
7f6050021000-7f6054000000 ---p 00000000 00:00 0 
Memory around native instruction pointer (0x7f608df207bb):
0x7f608df207ab  d2 4c 89 ce bf 02 00 00 00 b8 0e 00 00 00 0f 05  .L..............
0x7f608df207bb  48 8b 8c 24 08 01 00 00 64 48 33 0c 25 28 00 00  H..$....dH3.%(..
0x7f608df207cb  00 44 89 c0 75 1d 48 81 c4 10 01 00 00 5b c3 66  .D..u.H......[.f
0x7f608df207db  0f 1f 44 00 00 48 8b 15 89 36 18 00 f7 d8 64 89  ..D..H...6....d.

Native stacktrace:

	mono(+0x12296d) [0x563edeeef96d]
	mono(+0x122c87) [0x563edeeefc87]
	mono(+0xba8e4) [0x563edee878e4]
	/lib/x86_64-linux-gnu/libpthread.so.0(+0x12730) [0x7f608e0d6730]
	/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x10b) [0x7f608df207bb]
	/lib/x86_64-linux-gnu/libc.so.6(abort+0x121) [0x7f608df0b535]
	/lib/x86_64-linux-gnu/libc.so.6(+0x79508) [0x7f608df62508]
	/lib/x86_64-linux-gnu/libc.so.6(+0x7fc1a) [0x7f608df68c1a]
	/lib/x86_64-linux-gnu/libc.so.6(+0x81730) [0x7f608df6a730]
	[0x41d9773d]

Version in Ubuntu's repositories is old 0.6.0 with bugs

Hi Alexandros,

I installed bless 0.6.0-7 running on ubuntu 20.04 from Ubuntu Software and it's really problematic.

I struggled with weird bugs like trying to insert a byte and not having it insert properly, unable to save files, and constant "reload" messages when all I did was read a file that was open in bless, and also displaying 0x10f instead of 0x1f0 in the address locations.

It looks like a nice program but I gave up after struggling with it and switched to GHex. The comments in Ubuntu's Software App seem to echo my experience.

Can you push them get them to update their version? Looks like debian's using the same version.

https://packages.debian.org/source/sid/bless
https://packages.ubuntu.com/search?keywords=bless

https://home.gna.org/bless/ doesn't seem to work anymore

Error loading layout '/usr/share/bless/bless-default.layout'

Hi,
after cloning, building and installing bless on my Ubuntu 20.10 I always see this error:
grafik

I needed to move from version 0.6.0 which gets shipped with Ubuntu because of this very annoying bug: #7

But now I have a new annoying bug. If I try to change the layout I can not select anything. There is also no folder named /usr/share/bless
grafik

However I found out the files are now in /usr/local/share/bless so I changed that setting and now it is solved.

I hope this helps someone with the same issue.

Alternative keys from numeric keypad are not recognized

Some computers have a keypad (number keypad) with alternative keys which can be enabled/disabled with Fn key or Num Lock key.

bless version is 0.6.3.
All values are reported by xev.

Recognized keys:

KeyPress event, serial 40, synthetic NO, window 0x6e00001,
    root 0x1c7, subw 0x0, time 7816780, (91,20), root:(962,473),
    state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x6e00001,
    root 0x1c7, subw 0x0, time 7816858, (91,20), root:(962,473),
    state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 42, synthetic NO, window 0x6e00001,
    root 0x1c7, subw 0x0, time 7832510, (91,20), root:(962,473),
    state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 43, synthetic NO, window 0x6e00001,
    root 0x1c7, subw 0x0, time 7832616, (91,20), root:(962,473),
    state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20764777, (-186,377), root:(685,830),
    state 0x0, keycode 110 (keysym 0xff50, Home), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20764867, (-186,377), root:(685,830),
    state 0x0, keycode 110 (keysym 0xff50, Home), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 42, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20772655, (-186,377), root:(685,830),
    state 0x0, keycode 115 (keysym 0xff57, End), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 43, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20772769, (-186,377), root:(685,830),
    state 0x0, keycode 115 (keysym 0xff57, End), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 44, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20777145, (-186,377), root:(685,830),
    state 0x0, keycode 118 (keysym 0xff63, Insert), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 45, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20777251, (-186,377), root:(685,830),
    state 0x0, keycode 118 (keysym 0xff63, Insert), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 46, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20790461, (-186,377), root:(685,830),
    state 0x0, keycode 119 (keysym 0xffff, Delete), same_screen YES,
    XLookupString gives 1 bytes: (7f) ""
    XmbLookupString gives 1 bytes: (7f) ""
    XFilterEvent returns: False

KeyRelease event, serial 47, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20790570, (-186,377), root:(685,830),
    state 0x0, keycode 119 (keysym 0xffff, Delete), same_screen YES,
    XLookupString gives 1 bytes: (7f) ""
    XFilterEvent returns: False

Not recognized keys:

KeyPress event, serial 41, synthetic NO, window 0x6e00001,
    root 0x1c7, subw 0x0, time 7821832, (91,20), root:(962,473),
    state 0x0, keycode 89 (keysym 0xff9b, KP_Next), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 42, synthetic NO, window 0x6e00001,
    root 0x1c7, subw 0x0, time 7821920, (91,20), root:(962,473),
    state 0x0, keycode 89 (keysym 0xff9b, KP_Next), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 43, synthetic NO, window 0x6e00001,
    root 0x1c7, subw 0x0, time 7833313, (91,20), root:(962,473),
    state 0x0, keycode 81 (keysym 0xff9a, KP_Prior), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 44, synthetic NO, window 0x6e00001,
    root 0x1c7, subw 0x0, time 7833403, (91,20), root:(962,473),
    state 0x0, keycode 81 (keysym 0xff9a, KP_Prior), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 41, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20767064, (-186,377), root:(685,830),
    state 0x0, keycode 79 (keysym 0xff95, KP_Home), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 42, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20767172, (-186,377), root:(685,830),
    state 0x0, keycode 79 (keysym 0xff95, KP_Home), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 43, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20773716, (-186,377), root:(685,830),
    state 0x0, keycode 87 (keysym 0xff9c, KP_End), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 44, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20773803, (-186,377), root:(685,830),
    state 0x0, keycode 87 (keysym 0xff9c, KP_End), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 45, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20779793, (-186,377), root:(685,830),
    state 0x0, keycode 90 (keysym 0xff9e, KP_Insert), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 46, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20779903, (-186,377), root:(685,830),
    state 0x0, keycode 90 (keysym 0xff9e, KP_Insert), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 47, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20791625, (-186,377), root:(685,830),
    state 0x0, keycode 91 (keysym 0xff9f, KP_Delete), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 48, synthetic NO, window 0x6000001,
    root 0x1c7, subw 0x0, time 20791711, (-186,377), root:(685,830),
    state 0x0, keycode 91 (keysym 0xff9f, KP_Delete), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Feature Wish: Snap

As others, I suffer from the old outdated and buggy version available in Ubuntu. This is certainly not your fault, but of course a bad situation for users.

Since from my own experience packaging a snap is much simpler than creating .deb's, have you considered providing snap packages? Since snap is available for almost all distro nowadays, it would be a convenient way to provide users with the latest version in a way that the author intended...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.