Re: mesa is broken on macppc (__sync_add_and_fetch_8)

2017-01-20 Thread Jonathan Gray
On Fri, Jan 20, 2017 at 10:04:43PM +0100, Stefan Sperling wrote:
> Mesa doesn't run anymore on my 15" powerbook g4 which has a radeon R300.
> 
> glxinfo fails like this:
> 
> glxinfo:/usr/X11R6/lib/modules/dri/r300_dri.so: undefined symbol 
> '__sync_add_and_fetch_8'
> libGL error: unable to load driver: r300_dri.so
> libGL error: driver pointer missing
> libGL error: failed to load driver: r300
> glxinfo:/usr/X11R6/lib/modules/dri/swrast_dri.so: undefined symbol 
> '__sync_add_and_fetch_8'
> libGL error: unable to load driver: swrast_dri.so
> libGL error: failed to load driver: swrast
> X Error of failed request:  GLXBadContext
>   Major opcode of failed request:  155 (GLX)
>   Minor opcode of failed request:  6 (X_GLXIsDirect)
>   Serial number of failed request:  47
>   Current serial number in output stream:  0
> name of display: :0
> 
> The code which tries to use this atomic builtin on a 64bit integer is in
> /usr/xenocara/lib/mesa/src/compiler/glsl/cache.c (cache->size is 64 bits).
> 
> I cannot find any calls to this code. And there is a configure option to
> disable this cache. Using that allows at least glxgears to run again.

Which version previously ran? 11.2.2 ?

It might also be possible to patch xenocara/lib/mesa/src/util/u_atomic.h
but macppc runs MP.

Your diff should be

.if ${MACHINE_ARCH} == "powerpc"

as this is a 32 bit powerpc problem, and is not macppc specific.

ok with that changed.

> 
> ok?
> 
> Index: Makefile.bsd-wrapper
> ===
> RCS file: /cvs/xenocara/lib/mesa/Makefile.bsd-wrapper,v
> retrieving revision 1.7
> diff -u -p -r1.7 Makefile.bsd-wrapper
> --- Makefile.bsd-wrapper  11 Dec 2016 08:53:19 -  1.7
> +++ Makefile.bsd-wrapper  20 Jan 2017 19:33:48 -
> @@ -38,6 +38,12 @@ CONFIGURE_ARGS=--with-dri-drivers=${DR
>  CONFIGURE_ARGS+= USER_CFLAGS="-march=i586" USER_CXXFLAGS="-march=i586"
>  .endif
>  
> +# macppc lacks the __sync_add_and_fetch8 gcc atomic builtin
> +# which is used by the shader cache implementation
> +.if ${MACHINE} == macppc
> +CONFIGURE_ARGS+= --disable-shader-cache
> +.endif
> +
>  .if ${MACHINE} == alpha
>  # -O2 causes gcc ICE on  main/format_pack.c and program/prog_execute.c
>  O1= -fdefer-pop  -fguess-branch-probability -fcprop-registers \
> 
> 
> glxinfo with this patch:
> 
> name of display: :0
> display: :0  screen: 0
> direct rendering: Yes
> server glx vendor string: SGI
> server glx version string: 1.4
> server glx extensions:
> GLX_ARB_create_context, GLX_ARB_create_context_profile, 
> GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample, 
> GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
> GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
> GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, 
> GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
> GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 
> GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_swap_control
> client glx vendor string: Mesa Project and SGI
> client glx version string: 1.4
> client glx extensions:
> GLX_ARB_create_context, GLX_ARB_create_context_profile, 
> GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
> GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
> GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile, 
> GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float, 
> GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, 
> GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
> GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
> GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
> GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, 
> GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
> GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
> GLX_SGI_swap_control, GLX_SGI_video_sync
> GLX version: 1.4
> GLX extensions:
> GLX_ARB_create_context, GLX_ARB_create_context_profile, 
> GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, 
> GLX_ARB_get_proc_address, GLX_ARB_multisample, 
> GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
> GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
> GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, 
> GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
> GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
> GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, 
> GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
> GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
> GLX_SGI_swap_control, GLX_SGI_video_sync
> Extended renderer info (GLX_MESA_query_renderer):
> Vendor: X.Org R300 Project (0x1002)

Re: high number of acpitz noifications causing the acpi_dotask to never terminate

2017-01-20 Thread Daniel Kroczynski
reverting acpitz.c to 1.49 solves my problem.

[1] 
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/acpi/acpitz.c.diff?r1=1.49=1.50=h



mesa is broken on macppc (__sync_add_and_fetch_8)

2017-01-20 Thread Stefan Sperling
Mesa doesn't run anymore on my 15" powerbook g4 which has a radeon R300.

glxinfo fails like this:

glxinfo:/usr/X11R6/lib/modules/dri/r300_dri.so: undefined symbol 
'__sync_add_and_fetch_8'
libGL error: unable to load driver: r300_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r300
glxinfo:/usr/X11R6/lib/modules/dri/swrast_dri.so: undefined symbol 
'__sync_add_and_fetch_8'
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  47
  Current serial number in output stream:  0
name of display: :0

The code which tries to use this atomic builtin on a 64bit integer is in
/usr/xenocara/lib/mesa/src/compiler/glsl/cache.c (cache->size is 64 bits).

I cannot find any calls to this code. And there is a configure option to
disable this cache. Using that allows at least glxgears to run again.

ok?

Index: Makefile.bsd-wrapper
===
RCS file: /cvs/xenocara/lib/mesa/Makefile.bsd-wrapper,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile.bsd-wrapper
--- Makefile.bsd-wrapper11 Dec 2016 08:53:19 -  1.7
+++ Makefile.bsd-wrapper20 Jan 2017 19:33:48 -
@@ -38,6 +38,12 @@ CONFIGURE_ARGS=  --with-dri-drivers=${DR
 CONFIGURE_ARGS+=   USER_CFLAGS="-march=i586" USER_CXXFLAGS="-march=i586"
 .endif
 
+# macppc lacks the __sync_add_and_fetch8 gcc atomic builtin
+# which is used by the shader cache implementation
+.if ${MACHINE} == macppc
+CONFIGURE_ARGS+=   --disable-shader-cache
+.endif
+
 .if ${MACHINE} == alpha
 # -O2 causes gcc ICE on  main/format_pack.c and program/prog_execute.c
 O1= -fdefer-pop  -fguess-branch-probability -fcprop-registers \


glxinfo with this patch:

name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile, 
GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample, 
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, 
GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig, 
GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_swap_control
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile, 
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile, 
GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float, 
GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, 
GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, 
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile, 
GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, 
GLX_ARB_get_proc_address, GLX_ARB_multisample, 
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, 
GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, 
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
GLX_SGI_swap_control, GLX_SGI_video_sync
Extended renderer info (GLX_MESA_query_renderer):
Vendor: X.Org R300 Project (0x1002)
Device: ATI RV350 (0x4e50)
Version: 13.0.2
Accelerated: yes
Video memory: 64MB
Unified memory: no
Preferred profile: compat (0x2)
Max core profile version: 0.0
Max compat profile version: 2.1
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 2.0
OpenGL vendor string: X.Org R300 Project
OpenGL renderer string: Gallium 0.4 on ATI RV350
OpenGL version string: 2.1 Mesa 13.0.2
OpenGL shading language version string: 1.20
OpenGL extensions:
GL_AMD_shader_trinary_minmax, 

libressl ocsp aborts with a passphrase in the rkey file

2017-01-20 Thread xavier . s
>Synopsis:  libressl aborted when starting ocsp with a passphrase in the 
>generated rkey file
>Category:  library
>Environment:
System  : OpenBSD 6.0
Details : OpenBSD 6.0-current (GENERIC.MP) #150: Tue Jan 17 
17:41:15 MST 2017
 
bu...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP

Architecture: OpenBSD.amd64
Machine : amd64
>Description:
LibreSSL was aborted when starting the ocsp server for a test domain 
intermediate CA,
openning the rkey file generated by:
openssl genrsa -aes256 -out 
intermediate/private/ocsp.inda.re.key.pem 4096

Please note that the OCSP server starts correctly if the keyfile is 
generated
without -aes256.

Being not aware how setting up a Root CA, I've followed the procedure 
at the
url pasted below. Then, running the OSCP server with arguments shown 
below
resulted in:

Abort trap (core dumped)

at the output, and

openssl(7598): syscall 54 "ioctl"

in the messages.

>How-To-Repeat:
# Folowed the method as presented on this site:
# 
https://jamielinux.com/docs/openssl-certificate-authority/introduction.html
# Everything goes right with libressl until I attempted to start the 
OCSP server

# Generated the keyfile with a passphrase, as shown in the last part of 
the tutorial
openssl genrsa -aes256 -out intermediate/private/ocsp.inda.re.key.pem 
4096

# Triggers the abort
openssl ocsp -port 127.0.0.1:25600 -text -sha256 \
-index intermediate/index.txt \
-CA intermediate/certs/ca-chain.cert.pem \
-rkey intermediate/private/ocsp.inda.re.key.pem \
-rsigner intermediate/certs/ocsp.inda.re.cert.pem \
-nrequest 1



Re: libressl ocsp aborts with a passphrase in the rkey file

2017-01-20 Thread Bob Beck
just committed the fix.

On Fri, Jan 20, 2017 at 1:10 AM, Bob Beck  wrote:

> This will certainly be because it's not tty pledged, and it will ask for
> the password for his private key
>
>
> On Fri, Jan 20, 2017 at 12:51 AM, Sebastien Marie 
> wrote:
>
>> On Fri, Jan 20, 2017 at 12:45:10AM +0100, Xavier Sanchez wrote:
>> > >Synopsis:  libressl aborted when starting ocsp with a passphrase
>> in the generated rkey file
>> >
>> > Being not aware how setting up a Root CA, I've followed the
>> procedure at the
>> > url pasted below. Then, running the OSCP server with arguments
>> shown below
>> > resulted in:
>> >
>> > Abort trap (core dumped)
>> >
>> > at the output, and
>> >
>> > openssl(7598): syscall 54 "ioctl"
>> >
>> > in the messages.
>>
>> The problem is related to pledge(2). Basically, openssl(1) program tries
>> to do something it promises to not doing.
>>
>> Could you post the output of following commands:
>>
>> $ ktrace -di openssl ocsp -port 127.0.0.1:25600 ...
>> $ kdump | tail
>>
>> The first line will generate a trace of syscalls used by the offending
>> command. The second command will extract last lines of the trace.
>>
>> Beware that the result file (ktrace.out) will contains sensitive
>> informations about yours keys. Please review carefully what you would
>> share.
>>
>> The purpose is to see what are the arguments of ioctl(2) syscall used
>> (so please adjusts the size of the output of tail(1) if no line
>> containing ioctl() are in the 10 last lines).
>>
>>
>> Additionnally, having a backtrace of the failure could also help.
>>
>> $ gdb openssl openssl.core
>> (gdb) bt
>>
>> And send the output of "bt" command in gdb.
>>
>> Thanks.
>> --
>> Sebastien Marie
>>
>>
>


Re: libressl ocsp aborts with a passphrase in the rkey file

2017-01-20 Thread Bob Beck
This will certainly be because it's not tty pledged, and it will ask for
the password for his private key


On Fri, Jan 20, 2017 at 12:51 AM, Sebastien Marie  wrote:

> On Fri, Jan 20, 2017 at 12:45:10AM +0100, Xavier Sanchez wrote:
> > >Synopsis:  libressl aborted when starting ocsp with a passphrase in
> the generated rkey file
> >
> > Being not aware how setting up a Root CA, I've followed the
> procedure at the
> > url pasted below. Then, running the OSCP server with arguments
> shown below
> > resulted in:
> >
> > Abort trap (core dumped)
> >
> > at the output, and
> >
> > openssl(7598): syscall 54 "ioctl"
> >
> > in the messages.
>
> The problem is related to pledge(2). Basically, openssl(1) program tries
> to do something it promises to not doing.
>
> Could you post the output of following commands:
>
> $ ktrace -di openssl ocsp -port 127.0.0.1:25600 ...
> $ kdump | tail
>
> The first line will generate a trace of syscalls used by the offending
> command. The second command will extract last lines of the trace.
>
> Beware that the result file (ktrace.out) will contains sensitive
> informations about yours keys. Please review carefully what you would
> share.
>
> The purpose is to see what are the arguments of ioctl(2) syscall used
> (so please adjusts the size of the output of tail(1) if no line
> containing ioctl() are in the 10 last lines).
>
>
> Additionnally, having a backtrace of the failure could also help.
>
> $ gdb openssl openssl.core
> (gdb) bt
>
> And send the output of "bt" command in gdb.
>
> Thanks.
> --
> Sebastien Marie
>
>