Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2019-08

Lazarus on POWER9 Little Endian

6 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Unknown author

Hello,
I am trying to use Lazarus on a ppc64el processor under Ubuntu.

Unfortunately startlazarus and lazarus crash with a segmentation fault in a call to XGetWindowProperty in gtk2widgetset.inc in function TGtk2WidgetSet.GetWindowManager.

Unable to fix this, I added an "Exit" command early in this function.

I then get "The program 'startlazarus' received an X Window System error. The error was "BadValue (integer parameter out of range for operation) (Details: serial 866 error_code 2 request_code 130 minor_code 3)"

and it does not run.

Any ideas what might be needed to enable Lazarus to run on a ppc64el CPU?

The system is a Blackbird mainboard from Raptor Computing Systems.

Thanks.
Tobias Giesen

Reply by email

Florian Klaempfl
to Unknown author
Tobias Giesen wrote 6 lines
Hello, I am trying to use Lazarus on a ppc64el processor under Ubuntu. Unfortunately startlazarus and lazarus crash with a segmentation fault in a call to XGetWindowProperty in gtk2widgetset.inc in function TGtk2WidgetSet.GetWindowManager.

A stack trace and assembler dump at the crash location might be helpful ...

Reply by email

Tobias Giesen
to Florian Klaempfl

Hello,
I compiled lazarus trunk with Free Pascal Compiler version 3.3.1 [2019/07/12] for powerpc64.

I also tried an older FPC snapshot but the result is the same (Free Pascal Compiler version 3.1.1 [2017/10/19] for powerpc64)

(gdb) run
Starting program: /home/tobias/lazarus/startlazarus [Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/powerpc64le-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7c3aa64 in XGetWindowProperty () from
/lib/powerpc64le-linux-gnu/libX11.so.6
(gdb) info stack
#0 0x00007ffff7c3aa64 in XGetWindowProperty () at /lib/powerpc64le-linux-gnu/libX11.so.6
#1 0x0000000010155b30 in XLIB_$$_XGETWINDOWPROPERTY$crcF838B835 () #2 0x00000000100e6310 in GETWINDOWMANAGER (this=0x7ffff5700f30) at gtk2widgetset.inc:4424

(gdb) info registers
r0 0x10155b30 269835056
r1 0x7fffffffdf40 140737488346944 r2 0x7ffff7dc7c00 140737351810048 r3 0x10a0d1e0 278974944
r4 0x2a1 673
r5 0x188 392
r6 0x0 0
r7 0x400 1024
r8 0x0 0
r9 0x7fffffffdfb0 140737488347056 r10 0x0 0
r11 0xffffffffffffffd8 18446744073709551576 r12 0x7ffff7c3a9c0 140737350183360 r13 0x7ffff60fd540 140737321620800 r14 0x0 0
r15 0x0 0
r16 0x0 0
r17 0x0 0
r18 0x0 0
r19 0x0 0
r20 0x2a1 673
r21 0x188 392
r22 0x21 33
r23 0x0 0
r24 0x0 0
r25 0x400 1024
r26 0x7fffffffe1d0 140737488347600 r27 0x7fffffffe1c0 140737488347584 r28 0x7fffffffe0e0 140737488347360 r29 0x100d93d0 269325264
r30 0x7fffffffe1c8 140737488347592 r31 0x10a0d1e0 278974944
pc 0x7ffff7c3aa64 0x7ffff7c3aa64 <XGetWindowProperty+164> msr 0x900000000000d933 10376293541461678387 cr 0x28000244 671089220
lr 0x10155b30 0x10155b30
<XLIB_$$_XGETWINDOWPROPERTY$crcF838B835+72>
ctr 0x7ffff7c3a9c0 140737350183360 xer 0x0 0
fpscr 0x82020090 2181169296
vscr 0x0 0
vrsave 0xffffffff -1
ppr 0xc000000000000 3377699720527872 --Type <RET> for more, q to quit, c to continue without paging--c dscr 0x10 16
tar 0x0 0
bescr <unavailable>
ebbhr <unavailable>
ebbrr <unavailable>
mmcr0 0x0 0
mmcr2 0x0 0
siar 0x0 0
sdar 0x0 0
sier 0x0 0
orig_r3 0x7ffff7fc9bd0 140737353915344 trap 0x300 768

layout asm:

│0x7ffff7c3aa64 <XGetWindowProperty+164> std r10,0(r29)

│
│0x7ffff7c3aa68 <XGetWindowProperty+168> stxvd2x vs0,r9,r11

│
│0x7ffff7c3aa6c <XGetWindowProperty+172> std r10,0(r26)

│
│0x7ffff7c3aa70 <XGetWindowProperty+176> std r10,88(r1)

│
│0x7ffff7c3aa74 <XGetWindowProperty+180> std r10,96(r1)

│
│0x7ffff7c3aa78 <XGetWindowProperty+184> ld r9,2408(r3)

│
│0x7ffff7c3aa7c <XGetWindowProperty+188> cmpdi cr7,r9,0

│
│0x7ffff7c3aa80 <XGetWindowProperty+192> beq cr7,0x7ffff7c3aa98 <XGetWindowProperty+216>
│
│0x7ffff7c3aa84 <XGetWindowProperty+196> ld r9,0(r9)

│
│0x7ffff7c3aa88 <XGetWindowProperty+200> mtctr r9

│
│0x7ffff7c3aa8c <XGetWindowProperty+204> mr r12,r9

│
│0x7ffff7c3aa90 <XGetWindowProperty+208> bctrl

│
│0x7ffff7c3aa94 <XGetWindowProperty+212> ld r2,24(r1)

│
│0x7ffff7c3aa98 <XGetWindowProperty+216> li r5,24

│
│0x7ffff7c3aa9c <XGetWindowProperty+220> li r4,20

│
│0x7ffff7c3aaa0 <XGetWindowProperty+224> mr r3,r31

│
│0x7ffff7c3aaa4 <XGetWindowProperty+228> bl 0x7ffff7c6a168 <_XGetRequest+8>
│
│0x7ffff7c3aaa8 <XGetWindowProperty+232> nop

│
│0x7ffff7c3aaac <XGetWindowProperty+236> li r6,0

│
│0x7ffff7c3aab0 <XGetWindowProperty+240> li r5,0

│
│0x7ffff7c3aab4 <XGetWindowProperty+244> addi r4,r1,40

│
│0x7ffff7c3aab8 <XGetWindowProperty+248> mr r9,r3

│
│0x7ffff7c3aabc <XGetWindowProperty+252> stw r20,4(r3)

│
│0x7ffff7c3aac0 <XGetWindowProperty+256> stw r21,8(r3)

│
│0x7ffff7c3aac4 <XGetWindowProperty+260> mr r3,r31

│
│0x7ffff7c3aac8 <XGetWindowProperty+264> stb r23,1(r9)

On Mon, Aug 19, 2019 at 9:24 PM Florian Klaempfl via lazarus <

Show quoted text 17 lines
wrote: Am 18.08.2019 um 11:41 schrieb Tobias Giesen via lazarus: > Hello, > I am trying to use Lazarus on a ppc64el processor under Ubuntu. > > Unfortunately startlazarus and lazarus crash with a segmentation fault in > a call to XGetWindowProperty in gtk2widgetset.inc in function > TGtk2WidgetSet.GetWindowManager. A stack trace and assembler dump at the crash location might be helpful ... -- _______________________________________________ lazarus mailing list https://lists.lazarus-ide.org/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20190820/49d766bf/attachment.html>

Reply by email

Tobias Giesen
to Florian Klaempfl: A stack trace and assembler dump at the crash location might be helpful ...

It seems to work slightly better on Fedora. It doesn't cause a signal and very briefly, an empty small window appears. The console output is like this:
[tobias at blackbird lazarus]$ ./startlazarus
is a file

(startlazarus:3893): Gdk-ERROR **: 13:02:08.997: The program 'startlazarus' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'. (Details: serial 334 error_code 2 request_code 130 minor_code 3)

  (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.)

Trace/breakpoint trap (core dumped)

On Mon, Aug 19, 2019 at 9:24 PM Florian Klaempfl via lazarus <

Show quoted text 17 lines
wrote: Am 18.08.2019 um 11:41 schrieb Tobias Giesen via lazarus: > Hello, > I am trying to use Lazarus on a ppc64el processor under Ubuntu. > > Unfortunately startlazarus and lazarus crash with a segmentation fault in > a call to XGetWindowProperty in gtk2widgetset.inc in function > TGtk2WidgetSet.GetWindowManager. A stack trace and assembler dump at the crash location might be helpful ... -- _______________________________________________ lazarus mailing list https://lists.lazarus-ide.org/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20190820/63360d70/attachment-0001.html>

Reply by email

Marc Weustink
to Tobias Giesen

When debugging these kinds of X related errors, start your application with the (gtk) X option in synchronized mode. I can't remember which option it was, but Google will tell

Marc

Tobias Giesen wrote 42 lines
It seems to work slightly better on Fedora. It doesn't cause a signal and very briefly, an empty small window appears. The console output is like this: [tobias at blackbird lazarus]$ ./startlazarus is a file (startlazarus:3893): Gdk-ERROR **: 13:02:08.997: The program 'startlazarus' received an X Window System error. This probably reflects a bug in the program. The error was 'BadValue (integer parameter out of range for operation)'. (Details: serial 334 error_code 2 request_code 130 minor_code 3) (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.) Trace/breakpoint trap (core dumped) On Mon, Aug 19, 2019 at 9:24 PM Florian Klaempfl via lazarus < > wrote: > Am 18.08.2019 um 11:41 schrieb Tobias Giesen via lazarus: > > Hello, > > I am trying to use Lazarus on a ppc64el processor under Ubuntu. > > > > Unfortunately startlazarus and lazarus crash with a segmentation fault in > > a call to XGetWindowProperty in gtk2widgetset.inc in function > > TGtk2WidgetSet.GetWindowManager. > > A stack trace and assembler dump at the crash location might be helpful ... > -- > _______________________________________________ > lazarus mailing list > > https://lists.lazarus-ide.org/listinfo/lazarus >

Reply by email

Unknown author
to Marc Weustink

Hi,
this problem has now been solved with a new FPC 3.3.1 fix that's available on SVN (trunk) now. Lazarus runs and I'm happy :=)

Cheers,
Tobias

----

Show quoted text 53 lines
When debugging these kinds of X related errors, start your application with the (gtk) X option in synchronized mode. I can't remember which option it was, but Google will tell Marc On August 20, 2019 1:06:35 PM GMT+02:00, Tobias Giesen via lazarus wrote: >It seems to work slightly better on Fedora. It doesn't cause a signal >and >very briefly, an empty small window appears. The console output is like >this: >[tobias at blackbird lazarus]$ ./startlazarus > is a file > >(startlazarus:3893): Gdk-ERROR **: 13:02:08.997: The program >'startlazarus' >received an X Window System error. >This probably reflects a bug in the program. >The error was 'BadValue (integer parameter out of range for >operation)'. > (Details: serial 334 error_code 2 request_code 130 minor_code 3) > (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.) >Trace/breakpoint trap (core dumped) > >On Mon, Aug 19, 2019 at 9:24 PM Florian Klaempfl via lazarus < >> wrote: > >> Am 18.08.2019 um 11:41 schrieb Tobias Giesen via lazarus: >> > Hello, >> > I am trying to use Lazarus on a ppc64el processor under Ubuntu. >> > >> > Unfortunately startlazarus and lazarus crash with a segmentation >fault in >> > a call to XGetWindowProperty in gtk2widgetset.inc in function >> > TGtk2WidgetSet.GetWindowManager. >> >> A stack trace and assembler dump at the crash location might be >helpful ... >> -- >> _______________________________________________ >> lazarus mailing list >> >> https://lists.lazarus-ide.org/listinfo/lazarus >> -- _______________________________________________ lazarus mailing list https://lists.lazarus-ide.org/listinfo/lazarus

Kind Regards,
Tobias Giesen

Super Flexible Software GmbH & Co. KG
Buddenstr. 29-31
48143 Münster, Germany
www.superflexible.com
www.tgtools.com

----------------------------------------------------------- Registered at register court Münster as HRA 9716
Liability / general partner: TGTools GmbH
Registered at register court Münster as HRB 17763 Directors: Tobias Giesen and Claudia Giesen

Reply by email