WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: emelfm2 segfaults on "back" button  (Read 2709 times)

Offline Leee

  • Full Member
  • ***
  • Posts: 122
emelfm2 segfaults on "back" button
« on: February 04, 2024, 10:34:34 PM »
I've run into an issue with emelfm2 and I wonder if there's some simple fix that I'm overlooking.
  • I'm using Core 14.0 / x86_64, loading Xorg-7.7, Xprogs, aterm, jwm, wbar and emelfm2
  • I start emelfm2 and in either pane navigate to some other directory than where it started
  • I move the mouse up to that pane's "back" button and hover there
  • a drop-down menu of directories to which I might want to go back appears
  • I move the mouse cursor down onto that menu
  • if I click on one of the entries, it works as expected
  • if I move the mouse off the bottom or either side of the drop-down menu, it segfaults and the emelfm2 window closes
  • if I move the mouse back up to the "back" button, it is ok if I'm moving the mouse quickly but there is a little gap between the drop-down menu and the button so if I'm too slow crossing it, it still segfaults.
The end result is that simply moving the mouse cursor around on the screen will crash emelfm2 if it happens to cross the "back" button.


If I've started emelfm2 from a terminal session, the messages below are displayed in the terminal:
Code: [Select]
tc@box:~$
tc@box:~$ emelfm2 &
tc@box:~$
(emelfm2:27483): GLib-GObject-CRITICAL **: 21:34:38.424: g_object_get_data: assertion 'G_IS_OBJECT (object)' failed

(emelfm2:27483): GLib-GObject-CRITICAL **: 21:34:38.424: g_object_set_data_full: assertion 'G_IS_OBJECT (object)' failed

[1]+  Segmentation fault         emelfm2
tc@box:~$

The following lines are appended to the output of dmesg:
Code: [Select]
emelfm2[27483]: segfault at 200000001 ip 00007fd6b8f123a7 sp 00007ffd8797e100 error 4 in libgtk-x11-2.0.so.0.2400.32[7fd6b8e80000+193000] likely on CPU 0 (core 0, socket 0)
Code: 55 48 89 fd 53 52 e8 10 fe ff ff f6 40 48 01 0f 85 06 01 00 00 4c 8b 75 70 48 89 c3 45 31 ed 41 bc 01 00 00 00 4d 85 f6 74 31 <49> 8b 3e e8 1a fa ff ff 48 89 c7 48 89 c2 e8 b2 ea ff ff 85 c0 74


I'm using emelfm2 with Core 14.0 on x86_64 but I've verified this issue exists in every version of Core for the x_86_64 architecture later than 4.7.7 that includes emelfm2 in its repo - though the repos for 5.x through 8.x don't provide emelfm2.

I tried to fire up 4.7.7 to test there but that kernel doesn't boot on my current hardware.
When I used 4.7.7 for several years, I was using x86 architecture and I don't remember having this issue then... but I haven't done any 32 bit testing this week.
I can work around the issue by simply removing the "back" button from the toolbars of both panes of the emelfm2 window, but the "back" functionality seems pretty useful (when it works).


core 15.0 x86_64

Offline CentralWare

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 765
Re: emelfm2 segfaults on "back" button
« Reply #1 on: February 05, 2024, 05:33:46 AM »
Did you try FM3 by chance?

Online gadget42

  • Hero Member
  • *****
  • Posts: 793
Re: emelfm2 segfaults on "back" button
« Reply #2 on: February 05, 2024, 05:34:38 AM »
tl;dr: attempted to familiarize myself with this situation/software and find accurate and current information/resources/sources...failed.

off-topic perhaps, but still hopefully a thoughtful note/question(s)

is it just me or has wikipedia gone to the dogs?

followed a few links at https://en.wikipedia.org/wiki/EmelFM2 and was not impressed
(glad i didn't contribute the last time they had a begfest)
"references" "external links" and "repository" links all either didn't resolve or were questionable(for me at least)

where do we go to get accurate/correct/current/legitimate information?
(and how do we know we are all actually using/visiting the _same_ _exact_ code/content/source/webpage/website?)

more links:
https://emelfm.sourceforge.net/
https://emelfm2.net/

error message when attempting to follow link:
https://emelfm.sourceforge.net/old/
Quote
An error has been encountered in accessing this page.

1. Server: emelfm.sourceforge.net
2. URL path: /old/
3. Error notes: NONE
4. Error type: 403
5. Request method: GET
6. Request query string: NONE
7. Time: 2024-02-05 10:16:19 UTC (1707128179)
The fluctuation theorem has long been known for a sudden switch of the Hamiltonian of a classical system Z54 . For a quantum system with a Hamiltonian changing from... https://forum.tinycorelinux.net/index.php/topic,25972.msg166580.html#msg166580

Offline CentralWare

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 765
Re: emelfm2 segfaults on "back" button
« Reply #3 on: February 05, 2024, 05:43:54 AM »
https://emelfm.sourceforge.net/ timed out a few times over the past 10 minutes; finally came up with way-back
Quote
This website emelfm.sourceforge.net/ is currently offline. Cloudflare's Always Onlineā„¢ shows a snapshot of this web page from the Internet Archive's Wayback Machine. To check for the live version, click Refresh.

https://emelfm2.net/ is, however, online

https://github.com/tom2tom/emelfm2

Wiki...  has been crying the gimme' blues (last few+ years) about "hey, if you don't pay us, we're going to quit!" (lately they made it sound like a brutal take-over) but we'll see...  even Google looks as though they're just waiting for wiki to die -- most of their search results no longer contain "Cached" options -- either they're no longer storing data (unlikely) or they're getting ready to charge for it! :)

Online gadget42

  • Hero Member
  • *****
  • Posts: 793
Re: emelfm2 segfaults on "back" button
« Reply #4 on: February 05, 2024, 06:15:26 AM »
https://arstechnica.com/gadgets/2024/02/google-search-kills-off-cached-webpages/

Quote
Cached links used to live under the drop-down menu next to every search result on Google's page. As the Google web crawler scoured the Internet for new and updated webpages, it would also save a copy of whatever it was seeing. That quickly led to Google having a backup of basically the entire Internet, using what was probably an uncountable number of petabytes of data. Google is in the era of cost savings now, so assuming Google can just start deleting cache data, it can probably free up a lot of resources.

*going to continue this on a new thread since it is way OT...give me a few minutes...
The fluctuation theorem has long been known for a sudden switch of the Hamiltonian of a classical system Z54 . For a quantum system with a Hamiltonian changing from... https://forum.tinycorelinux.net/index.php/topic,25972.msg166580.html#msg166580

Offline Leee

  • Full Member
  • ***
  • Posts: 122
Re: emelfm2 segfaults on "back" button
« Reply #5 on: February 05, 2024, 03:55:13 PM »
Did you try FM3 by chance?
emelfm3 appears to have issues of its own:
* the "back", "forward" and "up" buttons (and some others) don't appear at all.  They're there, but their buttons are completely blank.  If I change the icon option to "icon above label" instead of "icon only", it segfaults when I apply the change.


* the "back" button's drop-down menu appears when I hover over the button but disappears when I move the cursor down onto the drop-down menu.  That is to say the drop-down menu disappears, whereas in emelfm2 the entire application widow disappears)


core 15.0 x86_64

Offline CentralWare

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 765
Re: emelfm2 segfaults on "back" button
« Reply #6 on: February 05, 2024, 06:07:32 PM »
Good evening, @Leee!
I just loaded FM2 on a reasonably basic 2019 machine with very few desktop "anything" extensions installed...

1. It loads fine, navigates fine, etc.
2. It's graphic/refresh intensive using the typical vga/frame-buffer layout
3. Do you know of a TinyCore version you used on the same computer hardware which worked as expected?
This is where I also have to ask for a hardware profile (CPU, RAM, HDD Space, GPU, etc.)

UPDATE:
  • I was able to get it to crash once so far (mouse-over back button, move onto menu, leave menu to the left, return to menu while it's still open, it goes to highlight; looks like it lost the index of "last highlighted" since we left the drop-down and tries to un-highlight (I'm speculating) NULL) - please respond to #3 above IF you have an answer as it may save me a bit of hunting.

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11634
Re: emelfm2 segfaults on "back" button
« Reply #7 on: February 05, 2024, 10:16:24 PM »
Hi Leee
I just installed a GUI based file manager a few days ago on
one of my machines (TC14 x86_64). I went with xfe and so
far I'm happy with it. You can switch between 1 or 2 panels,
both with or without a tree view while it's running.

Including dependencies it's 9.4Meg vs 14Meg for emelfm2.

Offline Leee

  • Full Member
  • ***
  • Posts: 122
Re: emelfm2 segfaults on "back" button
« Reply #8 on: February 06, 2024, 12:25:50 AM »
Good evening, @Leee!
I just loaded FM2 on a reasonably basic 2019 machine with very few desktop "anything" extensions installed...

1. It loads fine, navigates fine, etc.
2. It's graphic/refresh intensive using the typical vga/frame-buffer layout
3. Do you know of a TinyCore version you used on the same computer hardware which worked as expected?
This is where I also have to ask for a hardware profile (CPU, RAM, HDD Space, GPU, etc.)

UPDATE:
  • I was able to get it to crash once so far (mouse-over back button, move onto menu, leave menu to the left, return to menu while it's still open, it goes to highlight; looks like it lost the index of "last highlighted" since we left the drop-down and tries to un-highlight (I'm speculating) NULL) - please respond to #3 above IF you have an answer as it may save me a bit of hunting.
It crashes for me -almost- immediately when I leave the menu to the left, right or bottom of the menu.  At first I thought it wouldn't crash if I went out the top, back onto the "back" button, but with that tiny gap between the menu and the button it will still crash if I'm slow about it.

As for other hardware - I only have one system available right now that isn't a laptop.  That's a 2012-ish vintage Dell Optiplex 790 (Core i5-2400 @3.1 Mhz, 16 GB RAM) running Core 12.0 and the emelfm2 issue occurs there.  I think the previous systems on which I used emelfm2 extensively were all running 32 bit versions of Core.  I've checked for this bug using several different laptops (all running the 64 bit OS) and the problem seems to be consistent.

I'll fool around with it a bit tonight using 32 versions - I can fit the whole mess on the same USB stick as the 64 bit versions and report what I find.  It's not like I'm going to revert back to 32 bits, but my curiosity is all revved up now.  :)

... ( few minutes later) ... It turns out I -do- have an instance of Core 14.0 / x86 running.  It's a thin client so might be more like a laptop than a desktop, hardware-wise.  It's headless but, thanks to the magic of X (the Xwindows one, not the twitter one!) I was able to determine that the 32 bit version of emelfm2 -wants- to have a similar bug but is too chicken to actually do itself in:
  • start emelfm2 from a terminal session
  • navigate on of the panes to a directory other than the startup directory
  • mouse over the back button and the drop-down menu appears
  • pretty much anywhere you move the mouse causes instances of the following message to fill up and scroll the terminal window:
Code: [Select]
(emelfm2:23771): Gtk-CRITICAL **: 23:45:52.638: IA__gtk_menu_shell_select_item: assertion 'GTK_IS_MENU_ITEM (menu_item)' failed

(emelfm2:23771): Gtk-CRITICAL **: 23:45:52.688: IA__gtk_menu_shell_select_item: assertion 'GTK_IS_MENU_ITEM (menu_item)' failed

(emelfm2:23771): Gtk-CRITICAL **: 23:45:52.709: IA__gtk_menu_shell_select_item: assertion 'GTK_IS_MENU_ITEM (menu_item)' failed
  • emelfm2 does not segfault and nothing is logged in dmesg
  • using the buttons actually works.



core 15.0 x86_64

Offline Leee

  • Full Member
  • ***
  • Posts: 122
Re: emelfm2 segfaults on "back" button
« Reply #9 on: February 06, 2024, 02:06:30 AM »
Hi Leee
I just installed a GUI based file manager a few days ago on
one of my machines (TC14 x86_64). I went with xfe and so
far I'm happy with it. You can switch between 1 or 2 panels,
both with or without a tree view while it's running.

Including dependencies it's 9.4Meg vs 14Meg for emelfm2.
Thanks Rich,

I did my "due diligence" a few years ago and tried out all the available file managers and I settled on emelfm2 (this was back in my 32-but days) because it allowed me to add a button to run any command, script or application on the highlighted files.  I also had been using emelfm2 without any customizations for a longish time (probably from back in the DSL days).

This evening, I checked out xfe and it will let me add scripts to the scripts menu, but it doesn't look like there's any way to add a button to run a script.

I also checked out spacefm again as I remembered I had found it interesting before.  It has the functionality to add a custom button... but it doesn't actually work when you do so.

It looks like there are enough file managers in the 14.x/x86_64 repo to keep me busy for a few days just to try them all out.  In the mean time, I'll keep using emelfm2 with the back button removed from the toolbar.
core 15.0 x86_64

Offline CentralWare

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 765
Re: emelfm2 segfaults on "back" button
« Reply #10 on: February 06, 2024, 07:51:51 AM »
UPDATE 2:

GTK2/3 -> GlibC -> deprecated functions finally have proven fatal wonky on x86_64 and x86.
Bare in mind, emelfm* hasn't been updated in 7+ years (link)...  doesn't look like that's going to change any day soon.

From the looks of things, GTK's dialog_get_action_area -> gtk_menu_popup is crashing due to (many) functions which were deemed "outdated" back in 2015 and started flagging warnings ~2019. Due to the fact that the file manager is literally built on these outdated functions, I'd imagine the reconstruction would take a great deal of time to get it all caught up with seven years of GTK changes.  Compilation on my end stopped after ~100 complaints of outdated functions when it came across the first one that simply doesn't exist (g_string_free_and_steal) which according to a quick read, is Glib related.

Offline Leee

  • Full Member
  • ***
  • Posts: 122
Re: emelfm2 segfaults on "back" button
« Reply #11 on: February 06, 2024, 01:17:29 PM »
UPDATE 2:

GTK2/3 -> GlibC -> deprecated functions finally have proven fatal wonky on x86_64 and x86.
Bare in mind, emelfm* hasn't been updated in 7+ years (link)...  doesn't look like that's going to change any day soon.

From the looks of things, GTK's dialog_get_action_area -> gtk_menu_popup is crashing due to (many) functions which were deemed "outdated" back in 2015 and started flagging warnings ~2019. Due to the fact that the file manager is literally built on these outdated functions, I'd imagine the reconstruction would take a great deal of time to get it all caught up with seven years of GTK changes.  Compilation on my end stopped after ~100 complaints of outdated functions when it came across the first one that simply doesn't exist (g_string_free_and_steal) which according to a quick read, is Glib related.

Thanks CentralWare,
I had hoped I was just running into something like a missing dependency, but not surprised to learn that it runs deeper than that.

Quote
... when it came across the first one that simply doesn't exist (g_string_free_and_steal) ...

While I'm not at all familiar with that code, it seems like a function with a name that includes the word "and"would catch the eye of a code reviewer.

And it makes sense that a function that steals one's G string would be removed.     ;D

Time to move on, I guess, and find another FM that will fit the bill.
core 15.0 x86_64

Offline CentralWare

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 765
Re: emelfm2 segfaults on "back" button
« Reply #12 on: February 07, 2024, 12:59:56 AM »
@Leee: Don't give up just yet, but at the same time don't hold me to any promises.

From what I see on Debian's package listing, emelFM* no longer exists (save for a package of icons) however it doesn't mean that FM# hasn't become part of their larger packages - it also doesn't mean that it wasn't dropped completely.  I have the 12.4 repo syncing with ours and can do some digging tomorrow when time permits if it's still alive and kickin' in deb.  Our 'buntu repository is bare metal, so that's probably not worthy of scanning through. CentOS - went back to 7.x -- wasn't promising.  OUR stable release(s) were TCL 9.x and 10.x - I'm going to time-travel (see extension "bootman") and experiment with it and the at-the-time current versions of C/GTK/X/GLIB/etc. and find our differences that way.

Here's app history for ya'...
Back in '99 our original author Michael Clark, at the time college student of Pittsburgh (pitt.edu) launched the first release of EmelFM (v0.6.0) and he took it all the way up to v0.9.2 where...  I'm guessing he must have graduated; shortly thereafter the program went cold.  A number of minutes later it was forked (Tom2Tom) and FM2 (or "E2") was born and strangely enough, it went up to v0.9.2 before IT flat-lined somewhere in 2012 from the looks of things.  Coincidence?  {X-Files theme song softly plays in the distance}

2018 A TinyCore user asks for emelfm2 (we already had FM(1)) and a few posts later, FM2 is added to our 9.x repository by @Juanito.  Shortly thereafter, FM3 is added to be somewhat compatible with GTK3 "of that time."  From the looks of it, according to Wise Ol' Google, FM3 seems to be a TCL original.

Offline CentralWare

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 765
Re: emelfm2 segfaults on "back" button
« Reply #13 on: February 07, 2024, 01:02:26 AM »
String Of G String Thefts Reported -- Once Freed, Non-Nude Beaches Are In Chaos -- News At Eleven

Offline Leee

  • Full Member
  • ***
  • Posts: 122
Re: emelfm2 segfaults on "back" button
« Reply #14 on: February 07, 2024, 04:58:00 AM »
@Leee: Don't give up just yet, but at the same time don't hold me to any promises.

From what I see on Debian's package listing, emelFM* no longer exists (save for a package of icons) however it doesn't mean that FM# hasn't become part of their larger packages - it also doesn't mean that it wasn't dropped completely.  I have the 12.4 repo syncing with ours and can do some digging tomorrow when time permits if it's still alive and kickin' in deb.  Our 'buntu repository is bare metal, so that's probably not worthy of scanning through. CentOS - went back to 7.x -- wasn't promising.  OUR stable release(s) were TCL 9.x and 10.x - I'm going to time-travel (see extension "bootman") and experiment with it and the at-the-time current versions of C/GTK/X/GLIB/etc. and find our differences that way.

Here's app history for ya'...
Back in '99 our original author Michael Clark, at the time college student of Pittsburgh (pitt.edu) launched the first release of EmelFM (v0.6.0) and he took it all the way up to v0.9.2 where...  I'm guessing he must have graduated; shortly thereafter the program went cold.  A number of minutes later it was forked (Tom2Tom) and FM2 (or "E2") was born and strangely enough, it went up to v0.9.2 before IT flat-lined somewhere in 2012 from the looks of things.  Coincidence?  {X-Files theme song softly plays in the distance}

2018 A TinyCore user asks for emelfm2 (we already had FM(1)) and a few posts later, FM2 is added to our 9.x repository by @Juanito.  Shortly thereafter, FM3 is added to be somewhat compatible with GTK3 "of that time."  From the looks of it, according to Wise Ol' Google, FM3 seems to be a TCL original.
That's a fascinating history - I had no idea EmelFM was a local product.  I guess "it's a 'burgh thing".

I'm still using EmelFM2 as my go-to fm, just with the back buttons disabled, but I'm exploring the others again, if only to make sure I'm not missing out on something.

Interestingly enough, I just spent the evening with fluff which, i believe, is also a Tiny Core original and it's quite possibly the only fltk file manager known to google.  I had earlier dismissed fluff because it sometimes crashes while setting some of its options/preferences but that appears to be an issue with the UI for the settings.  I wrote a wrapper script for it that lets me more conveniently manage .fluff.conf externally (*) and it's behaving pretty well now - I'll want to use it for a few days to make sure it's really stable before I move on to the next one.

*) doing that reminded me so much of this XKCD comic https://xkcd.com/2021/ (if you hove your mouse over the picture, the secondary punch line comes up in a tool tip).
core 15.0 x86_64