Page 20 of 60

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Sun Jun 29, 2008 10:16 pm
by benadderson
Thanks for the clarification, that one had been bugging me for a while!

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Wed Jul 09, 2008 12:10 pm
by Oak37
Hi,
I came across a weird issue. I had FahMon setup on my Ubuntu 8.04 box and added a third client to monitor on another computer. When I added the location of the third client FahMon crashed and FahMon now crashes as soon as it starts up, the only error it produces is 'Floating point exception' when started through the terminal.

A bit more background info if it helps: Currently my Ubuntu box connects with my WinXP box through Samba, in this case the XP box is acting as the server. On my XP box I am running one instance of the console client and one instance of the GPU client. I'm sharing both folders containing all the relevant folding files which I'm able to browse and access through my Ubuntu box. FahMon worked fine when I added the location of the Console client but when I added the location of the GPU client it crashed and refuses to start up. When I start FahMon it briefly tries to download an updated edition of psummary.html but subsequently crashes. Any ideas? I'm going to try and compile it again, see if that fixes it.

The version is 2.3.2b

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Wed Jul 09, 2008 12:19 pm
by uncle_fungus
Since you're on Linux you can probably help debug this.

Compile FahMon again, make sure you do not strip the binary (by default it won't), and then launch FahMon through gdb with

Code: Select all

gdb fahmon
Then type run, hit enter and see what happens. If it crashes again, can you send me the output from gdb as this will generally contain the info about what caused the crash.

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Wed Jul 09, 2008 12:24 pm
by Oak37
uncle_fungus wrote:Since you're on Linux you can probably help debug this.

Compile FahMon again, make sure you do not strip the binary (by default it won't), and then launch FahMon through gdb with

Code: Select all

gdb fahmon
Then type run, hit enter and see what happens. If it crashes again, can you send me the output from gdb as this will generally contain the info about what caused the crash.
Appreciate the help but it was my firewall blocking ports, I didn't think of this because it had been running for the past few days without any errors and I thought I set up the rules on both sides properly, obviously not! Thanks again.

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Wed Jul 09, 2008 1:05 pm
by Oak37
It turns out it wasn't the firewall. I compiled it again and It's repeating the same behaviour and I've tried numerous firewall options including disabling firewalls on both sides. I did run gdb though although now FahMon is hanging rather than crashing. The 'Downloading New Projects' window appears but then hangs. I ran this numerous times and got two different outputs from gdb. The first one here is when I manually terminated the program:

Code: Select all

Starting program: /usr/local/bin/fahmon 
[Thread debugging using libthread_db enabled]
[New Thread 0x7f269194b780 (LWP 3433)]
[New Thread 0x40bc4950 (LWP 3435)]
[Thread 0x40bc4950 (LWP 3435) exited]
[New Thread 0x40bc4950 (LWP 3436)]
[New Thread 0x413c5950 (LWP 3437)]
[Thread 0x40bc4950 (LWP 3436) exited]
[Thread 0x413c5950 (LWP 3437) exited]

Program terminated with signal SIGKILL, Killed.
The program no longer exists.
The second one is different but I didn't do anything differently:

Code: Select all

Starting program: /usr/local/bin/fahmon 
[Thread debugging using libthread_db enabled]
[New Thread 0x7f396e0f0780 (LWP 3544)]
[New Thread 0x40fa6950 (LWP 3545)]
[New Thread 0x417a7950 (LWP 3546)]
[Thread 0x40fa6950 (LWP 3545) exited]
[New Thread 0x40fa6950 (LWP 3547)]
[Thread 0x417a7950 (LWP 3546) exited]

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x40fa6950 (LWP 3547)]
0x000000000042b344 in FahLogAnalyzer::AnalyzeLastFrame (
    fahlogComplete=<value optimized out>) at fahlogAnalyzer.cpp:234
234					frameCount = 200 / (((endFrame1.completedSteps - endFrame3.completedSteps) * 100) / endFrame1.totalSteps);
EDIT: I've discovered the problem only occurs when I try to add the GPU client to be monitored, I'm able to monitor the CPU client with no problems.

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Sat Jul 12, 2008 1:10 am
by smartcat99s
Oak37 wrote:It turns out it wasn't the firewall. I compiled it again and It's repeating the same behaviour and I've tried numerous firewall options including disabling firewalls on both sides. I did run gdb though although now FahMon is hanging rather than crashing. The 'Downloading New Projects' window appears but then hangs.
I'm hanging on Archlinux (pure x86_64) with 1 SMP client and 1 remote CPU client (cifs mounted to ~/mnt)

Here's the stack I get from svn HEAD compiled less than 30 minutes ago:

Code: Select all

(gdb) run
Starting program: /home/xraytux/projects/fahmon/src/fahmon 
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffb944f9760 (LWP 21970)]
[New Thread 0x41476950 (LWP 21973)]
[New Thread 0x41c77950 (LWP 21974)]
[Thread 0x41476950 (LWP 21973) exited]
[Thread 0x41c77950 (LWP 21974) exited]

^C
Program received signal SIGINT, Interrupt.
[Switching to Thread 0x7ffb944f9760 (LWP 21970)]
0x00007ffb91d06334 in __lll_lock_wait () from /lib/libpthread.so.0
(gdb) info stack
#0  0x00007ffb91d06334 in __lll_lock_wait () from /lib/libpthread.so.0
#1  0x00007ffb91d01c10 in _L_lock_55 () from /lib/libpthread.so.0
#2  0x00007ffb91d0151e in pthread_mutex_lock () from /lib/libpthread.so.0
#3  0x00007ffb927aead9 in wxMutexInternal::Lock () from /usr/lib/libwx_baseu-2.8.so.0
#4  0x000000000045fec9 in ProjectsManager::UpdateDatabase (this=0xba4a30, forced=128, silentMode=32) at /usr/include/wx-2.8/wx/thread.h:176
#5  0x000000000044046f in MainDialog::UpdateClientInformation (this=0xbb3830, clientId=<value optimized out>) at mainDialog.cpp:475
#6  0x0000000000440a8c in MainDialog::ShowClientInformation (this=0xb1bad0, clientId=128) at mainDialog.cpp:303
#7  0x00007ffb927b0d49 in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.8.so.0
#8  0x00007ffb927b1f24 in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
#9  0x00007ffb927b2017 in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.8.so.0
#10 0x00007ffb9315e0a9 in wxWindowBase::TryParent () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#11 0x00007ffb9315e0a9 in wxWindowBase::TryParent () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#12 0x00007ffb9315e0a9 in wxWindowBase::TryParent () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#13 0x00007ffb93088e0c in wxListMainWindow::SendNotify () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#14 0x00007ffb93089be2 in wxListMainWindow::HighlightLine () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#15 0x00007ffb93089cf7 in wxListMainWindow::SetItemState () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#16 0x00007ffb93089e60 in wxGenericListCtrl::SetItemState () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#17 0x00000000004312fd in ListViewClients::Sort (this=0xc71270) at /usr/include/wx-2.8/wx/listctrl.h:64
#18 0x0000000000433d50 in ListViewClients::UpdateClient (this=0xc71270, clientId=<value optimized out>) at listViewClients.cpp:751
#19 0x0000000000440bd3 in MainDialog::OnClientReloaded (this=0xbb3830, event=<value optimized out>) at mainDialog.cpp:1163
#20 0x00007ffb927b0d49 in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.8.so.0
#21 0x00007ffb927b1f24 in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
#22 0x00007ffb927b2017 in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.8.so.0
#23 0x00007ffb927b11e8 in wxEvtHandler::ProcessPendingEvents () from /usr/lib/libwx_baseu-2.8.so.0
#24 0x00007ffb92721eee in wxAppConsole::ProcessPendingEvents () from /usr/lib/libwx_baseu-2.8.so.0
#25 0x00007ffb930dfdeb in wxAppBase::ProcessIdle () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#26 0x00007ffb9303f444 in wxapp_idle_callback () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#27 0x00007ffb8fbcd7cb in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#28 0x00007ffb8fbd0f9d in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#29 0x00007ffb8fbd115b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#30 0x00007ffb911138c1 in gtk_main_iteration () from /usr/lib/libgtk-x11-2.0.so.0
#31 0x00007ffb9303f745 in wxApp::Yield () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#32 0x00007ffb927b3673 in wxYieldIfNeeded () from /usr/lib/libwx_baseu-2.8.so.0
#33 0x00007ffb93183679 in wxProgressDialog::UpdateMessage () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#34 0x00007ffb931837e5 in wxProgressDialog::Update () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#35 0x000000000045d7eb in ProgressManager::SetText (this=0x7fff9c666aa0, text=@0x7fff9c666af0) at progressManager.cpp:86
#36 0x000000000045d9ad in ProgressManager::SetTextAndProgress (this=0xb1bad0, text=@0x80, progress=2446366752) at progressManager.cpp:130
#37 0x0000000000460072 in ProjectsManager::UpdateDatabase (this=0xba4a30, forced=<value optimized out>, silentMode=<value optimized out>) at projectsManager.cpp:219
#38 0x000000000044046f in MainDialog::UpdateClientInformation (this=0xbb3830, clientId=<value optimized out>) at mainDialog.cpp:475
#39 0x0000000000440a8c in MainDialog::ShowClientInformation (this=0xb1bad0, clientId=128) at mainDialog.cpp:303
#40 0x00007ffb927b0d49 in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.8.so.0
#41 0x00007ffb927b1f24 in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
#42 0x00007ffb927b2017 in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.8.so.0
#43 0x00007ffb9315e0a9 in wxWindowBase::TryParent () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#44 0x00007ffb9315e0a9 in wxWindowBase::TryParent () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#45 0x00007ffb9315e0a9 in wxWindowBase::TryParent () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#46 0x00007ffb93088e0c in wxListMainWindow::SendNotify () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#47 0x00007ffb93089be2 in wxListMainWindow::HighlightLine () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#48 0x00007ffb93089cf7 in wxListMainWindow::SetItemState () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#49 0x00007ffb93089e60 in wxGenericListCtrl::SetItemState () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#50 0x00000000004312fd in ListViewClients::Sort (this=0xc71270) at /usr/include/wx-2.8/wx/listctrl.h:64
#51 0x0000000000433d50 in ListViewClients::UpdateClient (this=0xc71270, clientId=<value optimized out>) at listViewClients.cpp:751
#52 0x0000000000440bd3 in MainDialog::OnClientReloaded (this=0xbb3830, event=<value optimized out>) at mainDialog.cpp:1163
#53 0x00007ffb927b0d49 in wxEvtHandler::ProcessEventIfMatches () from /usr/lib/libwx_baseu-2.8.so.0
#54 0x00007ffb927b1f24 in wxEventHashTable::HandleEvent () from /usr/lib/libwx_baseu-2.8.so.0
#55 0x00007ffb927b2017 in wxEvtHandler::ProcessEvent () from /usr/lib/libwx_baseu-2.8.so.0
#56 0x00007ffb927b11e8 in wxEvtHandler::ProcessPendingEvents () from /usr/lib/libwx_baseu-2.8.so.0
#57 0x00007ffb92721eee in wxAppConsole::ProcessPendingEvents () from /usr/lib/libwx_baseu-2.8.so.0
#58 0x00007ffb930dfdeb in wxAppBase::ProcessIdle () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#59 0x00007ffb9303f444 in wxapp_idle_callback () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#60 0x00007ffb8fbcd7cb in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#61 0x00007ffb8fbd0f9d in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#62 0x00007ffb8fbd14cd in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#63 0x00007ffb91113a17 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#64 0x00007ffb93056a98 in wxEventLoop::Run () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#65 0x00007ffb930dfc7b in wxAppBase::MainLoop () from /usr/lib/libwx_gtk2u_core-2.8.so.0
#66 0x00007ffb92756cdd in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0
#67 0x000000000043b132 in main (argc=1, argv=0x80) at main.cpp:47
EDIT:

After some GDB debugging (this thing is a beast, it keeps entering the same function multiple times before finishing), it seems like it's deadlocking itself in ProjectsManager::UpdateDatabase.

Here's my GDB session log:

Code: Select all

(gdb) run
Starting program: /home/xraytux/projects/fahmon/src/fahmon 
[Thread debugging using libthread_db enabled]
[New Thread 0x7f9086c60760 (LWP 22375)]
[New Thread 0x4163c950 (LWP 22376)]
[New Thread 0x41e3d950 (LWP 22377)]
[Thread 0x4163c950 (LWP 22376) exited]
[Thread 0x41e3d950 (LWP 22377) exited]
[Switching to Thread 0x7f9086c60760 (LWP 22375)]

Breakpoint 1, ProjectsManager::UpdateDatabase (this=0x16b2d60, forced=false, silentMode=false) at projectsManager.cpp:199
199	bool ProjectsManager::UpdateDatabase(bool forced, bool silentMode)
(gdb) c
Continuing.

Breakpoint 1, ProjectsManager::UpdateDatabase (this=0x16b2d60, forced=false, silentMode=false) at projectsManager.cpp:199
199	bool ProjectsManager::UpdateDatabase(bool forced, bool silentMode)
(gdb) n
176	        { m_isOk = ( m_mutex.Lock() == wxMUTEX_NO_ERROR ); }
(gdb) n
199	bool ProjectsManager::UpdateDatabase(bool forced, bool silentMode)
(gdb) n
204		ProgressManager progressManager(silentMode);
(gdb) n
176	        { m_isOk = ( m_mutex.Lock() == wxMUTEX_NO_ERROR ); }
(gdb) n
further edit:
I killed my ~/.fahmon directory (yes, I saved it for debugging), and things are working...

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Tue Jul 15, 2008 11:27 am
by Trivolve
Hi, i was just wondering whether you could add a feature in.

I'm monitoring my FAH clients on a few computers over my wireless network, and sometimes they are off but i want to know their progress, so perhaps instead of the "Something is wrong with this client. Please check the messages (FahMon->Show/Hide Messages Window)." message, you could post the latest version of FAHlog.txt that FAHMON had accessed below that, so that i can track the last update on the computer even if it is off at the current moment. Thanks.

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Thu Jul 17, 2008 11:33 am
by JWhy
Hello,

I'm wondering if there is a way to select a specific language for FAHMon GUI instead of the default one (apparently based on the OS's regional options) ?

My locale is french (fr_FR) but I would like to display english messages
Is there a proper way to do it (other than deleting my /fr_FR folder, duplicating the /en_GB folder and then renaming it to fr_FR ...which seems to work just fine. ) ?

Thanks,

JY.
edit: Of course, I do not want to change my regional options :)

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Thu Jul 17, 2008 11:36 am
by uncle_fungus
In short the answer is no, not the way I'm implementing the language settings. However I know it is possible to allow language selection in wxWidgets apps, so I'll look into it.

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Thu Jul 17, 2008 11:41 am
by JWhy
OK, thanks UF.

Here's what I did :
1/ Quit Fahmon
2/ Rename /fr_FR to /fr_FR.original
3/ Duplicate /en_GB
4/ Rename this copy to /fr_FR and rename the file en_GB.po to fr_FR.po
5/ Start Fahmon

and voilĂ , it's in English ;)

JY.

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Thu Jul 17, 2008 6:49 pm
by Gerby19
JWhy wrote:Here's what I did :
1/ Quit Fahmon
2/ Rename /fr_FR to /fr_FR.original
3/ Duplicate /en_GB
4/ Rename this copy to /fr_FR and rename the file en_GB.po to fr_FR.po
5/ Start Fahmon
Hi JY!

You don't need to make a new fr_FR out of en_GB. If FahMon doesn't find the language set up in the OS, it automatically uses English. So steps 1, 2, and 5 are enough. 8-)

Gerby

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Thu Jul 17, 2008 7:41 pm
by JWhy
Ah , I didn't know that.
Thanks for the tip :)

JY.

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Thu Jul 17, 2008 7:48 pm
by uncle_fungus
It depends whether you want British English or US English. The default is US, which you'll get with Gerby19's method.

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Fri Jul 25, 2008 10:04 am
by Russ_64
Any chance that that OSX version will work on the new iPhone 3G? or maybe a port sometime in future?

Re: FahMon (multi-platform app to monitor various F@h clients)

Posted: Fri Jul 25, 2008 10:27 am
by uncle_fungus
Not in the near future no, since the wxWidgets toolkit doesn't currently support the iPhone, and I'm not sure that the current FahMon interface is suited for an iPhone.