Recent

Author Topic: ghost ppcx64.exe process in lazarus trunk  (Read 3074 times)

cpicanco

  • Hero Member
  • *****
  • Posts: 674
  • Behavioral Scientist and Programmer
    • Portfolio
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #15 on: October 27, 2024, 10:10:04 pm »
So, for sure it is not happening in:

Lazarus 3.99 (rev main_3_99-1082-g0bd3e44eb4) FPC 3.3.1 x86_64-win64-win32/win64

Now I am testing revision: fafef09827eb4d93f79d6553f84d93cfcfa0692b
Be mindful and excellent with each other.
https://github.com/cpicanco/

jamie

  • Hero Member
  • *****
  • Posts: 7516
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #16 on: October 27, 2024, 10:47:57 pm »
I would need to see your code when using the FpgMap. You should know that a MAP does not allow you to enter duplicated items for the KEY and they need to be sortable.
 
 Basically, you can of course overwrite the value for that key.

 You will need a TMultiMap generic if you want multiple values per key, which I did write that myself.

The only true wisdom is knowing you know nothing

cpicanco

  • Hero Member
  • *****
  • Posts: 674
  • Behavioral Scientist and Programmer
    • Portfolio
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #17 on: October 27, 2024, 11:11:31 pm »
No, no, no. I need a simple map, not a multi map. You can see the code here:

TParameterBase specializes a TDictionary
https://github.com/cpicanco/stimulus-control-sdl2/blob/main/src/session.parameters.types.pas

This specialization automates string to type/type to string convertions using variants
https://github.com/cpicanco/stimulus-control-sdl2/blob/main/src/session.parameters.pas

Each TParametricObject can register its own set of unique parameter names (defined as constants) so that it will read only what it needs, for example:
https://github.com/cpicanco/stimulus-control-sdl2/blob/main/src/sdl.app.trials.pas#L153-L167
« Last Edit: October 27, 2024, 11:43:11 pm by cpicanco »
Be mindful and excellent with each other.
https://github.com/cpicanco/

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 12079
  • Debugger - SynEdit - and more
    • wiki
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #18 on: October 27, 2024, 11:39:52 pm »
So, for sure it is not happening in:

Lazarus 3.99 (rev main_3_99-1082-g0bd3e44eb4) FPC 3.3.1 x86_64-win64-win32/win64

Now I am testing revision: fafef09827eb4d93f79d6553f84d93cfcfa0692b

I was thinking on going back on FPC => because Lazarus only starts it, and it should stop once its gone through the source. It should stop never mind what lazarus does.


Btw, another idea: If you can compile FPC (ppc...) with debug info => then when you get the ghost running ppc left behind => use Lazarus and attach to that process. You may have to switch to the main thread, as Windows may have created a thread to let the debugger attach. But then in the main thread, you should be able to see what that compiler does. And maybe someone from the FPC team can use that.

cpicanco

  • Hero Member
  • *****
  • Posts: 674
  • Behavioral Scientist and Programmer
    • Portfolio
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #19 on: October 27, 2024, 11:46:09 pm »
Quote
I was thinking on going back on FPC => because Lazarus only starts it, and it should stop once its gone through the source. It should stop never mind what lazarus does.

So, this error is not related to Lazarus at all.  %)
Be mindful and excellent with each other.
https://github.com/cpicanco/

cpicanco

  • Hero Member
  • *****
  • Posts: 674
  • Behavioral Scientist and Programmer
    • Portfolio
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #20 on: October 27, 2024, 11:47:54 pm »
How to show the revision number of fpc? It is not showing in "About Lazarus"
Be mindful and excellent with each other.
https://github.com/cpicanco/

cpicanco

  • Hero Member
  • *****
  • Posts: 674
  • Behavioral Scientist and Programmer
    • Portfolio
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #21 on: October 28, 2024, 12:02:23 am »
Ok, I found the FPC revision:

Verbose: Free Pascal Compiler version 3.3.1-16751-g06eaec4313-dirty [2024/10/26] for x86_64
Be mindful and excellent with each other.
https://github.com/cpicanco/

cpicanco

  • Hero Member
  • *****
  • Posts: 674
  • Behavioral Scientist and Programmer
    • Portfolio
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #22 on: October 28, 2024, 12:13:13 am »
Quote
Btw, another idea: If you can compile FPC (ppc...) with debug info => then when you get the ghost running ppc left behind => use Lazarus and attach to that process. You may have to switch to the main thread, as Windows may have created a thread to let the debugger attach. But then in the main thread, you should be able to see what that compiler does. And maybe someone from the FPC team can use that.

Ok, I managed to attach to the process. Then I hit "pause" and it is showing this:
Be mindful and excellent with each other.
https://github.com/cpicanco/

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 12079
  • Debugger - SynEdit - and more
    • wiki
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #23 on: October 28, 2024, 12:32:38 am »
And the other threads?

For each thread see if you can get a stacktrace.

Depending on debug info, one of them should show code in the compiler.

cpicanco

  • Hero Member
  • *****
  • Posts: 674
  • Behavioral Scientist and Programmer
    • Portfolio
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #24 on: October 28, 2024, 12:52:45 am »
How to change the thread?
Be mindful and excellent with each other.
https://github.com/cpicanco/

cpicanco

  • Hero Member
  • *****
  • Posts: 674
  • Behavioral Scientist and Programmer
    • Portfolio
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #25 on: October 28, 2024, 02:08:35 am »
Verbose: Free Pascal Compiler version 3.3.1-16703-gab9c499650 [2024/10/20] for x86_64

There are 5 threads in total, a group of them very similar.

Thread 1, first pause
#0 CHECKUSED(parentfp_void_pointer($000000001EC4F970), nil) at ctask.pas:193
#1 TTASK_HANDLER.CANCONTINUE(TTASK_HANDLER($000000001ED7A650), TMODULE($00000000B35D67B0), True, TMODULE($8D48902024448B48)) at ctask.pas:230
#2 TTASK_HANDLER.PROCESSQUEUE(TTASK_HANDLER($000000010002F92F)) at ctask.pas:331
#3 COMPILE(nil) at compiler.pas:311
#4 main at pp.pas:308
#5  at :-1

Thread 1, second pause
#0 TTASK_HANDLER.FINDTASK(TTASK_HANDLER($000000001ED7A650), TMODULE($00000000A6713410)) at ctask.pas:172
#1 TTASK_HANDLER.PROCESSQUEUE(TTASK_HANDLER($000000001ED7A650)) at ctask.pas:345
#2 COMPILE(nil) at compiler.pas:311
#3 main at pp.pas:308
#4  at :-1

Thread 1, third pause
#0 CHECKUSED(parentfp_void_pointer($000000001EC4F970), nil) at ctask.pas:195
#1 TTASK_HANDLER.CANCONTINUE(TTASK_HANDLER($000000001ED7A650), TMODULE($00000000A6A37E30), True, TMODULE($8D48902024448B48)) at ctask.pas:230
#2 TTASK_HANDLER.PROCESSQUEUE(TTASK_HANDLER($000000010002F92F)) at ctask.pas:331
#3 COMPILE(nil) at compiler.pas:311
#4 main at pp.pas:308
#5  at :-1

Threads 2-4
#0 CHECKUSED(parentfp_void_pointer($000000001EC4F970), nil) at ctask.pas:193
#1 TTASK_HANDLER.CANCONTINUE(TTASK_HANDLER($000000001ED7A650), TMODULE($00000000A6A37E30), True, TMODULE($8D48902024448B48)) at ctask.pas:230
#2 TTASK_HANDLER.PROCESSQUEUE(TTASK_HANDLER($000000010002F92F)) at ctask.pas:331
#3 COMPILE(nil) at compiler.pas:311
#4 main at pp.pas:308
#5  at :-1

Thread 5
#0 ntdll:RtlUserThreadStart at :0
#1  at :-1


Be mindful and excellent with each other.
https://github.com/cpicanco/

cpicanco

  • Hero Member
  • *****
  • Posts: 674
  • Behavioral Scientist and Programmer
    • Portfolio
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #26 on: October 28, 2024, 02:15:10 am »
Second Trial, its showing only two thread now.

Thread 1, first pause
#0 TMODULE.USEDUNITSLOADED(TMODULE($00000000A6713410), True(96), nil) at fmodule.pas:1092
#1 TTASK_HANDLER.CANCONTINUE(TTASK_HANDLER($000000001EE4AF50), TMODULE($00000000B35E6450), True, Failed to read data from register (while calculating location)) at ctask.pas:218
#2 TTASK_HANDLER.PROCESSQUEUE(TTASK_HANDLER($000000010002F92F)) at ctask.pas:331
#3 COMPILE(nil) at compiler.pas:311
#4 main at pp.pas:308
#5  at :-1

Thread 1, second pause
#0 TTASK_HANDLER.CANCONTINUE(TTASK_HANDLER($000000001EE4AF50), TMODULE($00000000A6713410), True, nil) at ctask.pas:212
#1 TTASK_HANDLER.PROCESSQUEUE(TTASK_HANDLER($000000010002F92F)) at ctask.pas:343
#2 COMPILE(nil) at compiler.pas:311
#3 main at pp.pas:308
#4  at :-1

Thread 1, third pause
#0 TMODULE.USEDUNITSLOADED(TMODULE($000000007DBFE4E0), True(96), nil) at fmodule.pas:1092
#1 TTASK_HANDLER.CANCONTINUE(TTASK_HANDLER($000000001EE4AF50), TMODULE($00000000B41CE770), True, Failed to read data from register (while calculating location)) at ctask.pas:220
#2 TTASK_HANDLER.PROCESSQUEUE(TTASK_HANDLER($000000010002F92F)) at ctask.pas:331
#3 COMPILE(nil) at compiler.pas:311
#4 main at pp.pas:308
#5  at :-1

Thread 2
#0 ntdll:RtlUserThreadStart at :0
#1  at :-1
Be mindful and excellent with each other.
https://github.com/cpicanco/

cpicanco

  • Hero Member
  • *****
  • Posts: 674
  • Behavioral Scientist and Programmer
    • Portfolio
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #27 on: October 28, 2024, 02:18:08 am »
When I attach Lazarus to the process using the Run-Attach manual option and then hit CTRL+F2 it will kill the process.
Be mindful and excellent with each other.
https://github.com/cpicanco/

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 12079
  • Debugger - SynEdit - and more
    • wiki
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #28 on: October 28, 2024, 10:57:41 am »
I pinged the fpc developer mail list. Maybe someone there can have a look.

cpicanco

  • Hero Member
  • *****
  • Posts: 674
  • Behavioral Scientist and Programmer
    • Portfolio
Re: ghost ppcx64.exe process in lazarus trunk
« Reply #29 on: January 26, 2025, 11:05:40 pm »
I pinged the fpc developer mail list. Maybe someone there can have a look.

Hi Martin. Today I updated my fpc and lazarus and it seems that the bug now is solved. May I ask if you did something about it?
Be mindful and excellent with each other.
https://github.com/cpicanco/

 

TinyPortal © 2005-2018