From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/12638 Path: news.gmane.org!.POSTED!not-for-mail From: Newsgroups: gmane.linux.lib.musl.general Subject: segmentation fault on pthread_detach Date: Tue, 27 Mar 2018 12:00:39 +0000 Message-ID: Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="_000_E9B8FCA610BB6249B7C397BE4A01AE19412212SRVDE355weidmuell_" X-Trace: blaine.gmane.org 1522151943 17780 195.159.176.226 (27 Mar 2018 11:59:03 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 27 Mar 2018 11:59:03 +0000 (UTC) To: Original-X-From: musl-return-12652-gllmg-musl=m.gmane.org@lists.openwall.com Tue Mar 27 13:58:59 2018 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1f0nFh-0004Tl-20 for gllmg-musl@m.gmane.org; Tue, 27 Mar 2018 13:58:57 +0200 Original-Received: (qmail 1976 invoked by uid 550); 27 Mar 2018 12:00:57 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 1923 invoked from network); 27 Mar 2018 12:00:56 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=weidmueller.onmicrosoft.com; s=selector1-weidmueller-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=AZsk/7Fsmvj3ThI/N2RkzrtOM0WXhG3NA7KaZg1gkO0=; b=Sg6bIDKBYGI3ja2gQSIMSlPg45N+vr/SaqBeyrKVB0XJFggBqheF9pTz3y6+ft/zc7SMEGGYkXFyWIe8ustlAlIiSKYdpw5A16+dCuV1eQa/A00fLbkTyoJ327EjDPGLxDhhO9exqt/81/Lkri1StWRJi7I0hjk2dTkaI93znW8= Received-SPF: Pass (protection.outlook.com: domain of weidmueller.com designates 217.244.7.18 as permitted sender) receiver=protection.outlook.com; client-ip=217.244.7.18; helo=email.weidmueller.com; Thread-Topic: segmentation fault on pthread_detach Thread-Index: AdPFwbydLlYiITsIQB2Wt80IorLpSg== Accept-Language: en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.1.121.25] X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:217.244.7.18;IPV:NLI;CTRY:DE;EFV:NLI;SFV:NSPM;SFS:(10009020)(376002)(39380400002)(346002)(396003)(39860400002)(2980300002)(438002)(189003)(199004)(55016002)(53416004)(336012)(68736007)(26005)(86362001)(3846002)(55846006)(6346003)(86152003)(33964004)(7736002)(8676002)(356003)(106466001)(81166006)(81156014)(104016004)(84326002)(97736004)(33656002)(486005)(59450400001)(486005)(7696005)(6116002)(790700001)(186003)(426003)(8936002)(69596002)(72206003)(6306002)(316002)(102836004)(6916009)(54896002)(2351001)(106002)(2920100001)(16586007)(478600001)(5660300001)(5250100002)(2876002)(53936002)(2900100001)(2906002)(476003)(406003)(19627235001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM4PR08MB0913;H:email.weidmueller.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB5EUR03FT054;1:2PM6nk6s3YAJiROrgmv2V0iGw3GOKQntYdQWYEm449B9kbmXVcq6r2M6Mns7BRGG91TWBand5pZXau0aTtCe7vA9Eed+imhkySghzVrEqruuCM7W731BqudVISvy9YAS X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2f8bc01a-e84b-47e9-76ce-08d593da5d08 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(4608076)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);SRVR:AM4PR08MB0913; X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB0913;3:fV5pymZ14nCCzZKIrRtruB+D0noT67KtqIlWhyG7ygkxbH0Mp2Q2C3xwGGJGfF+dNBm7ICxyY8UsJaIRG3jII9rLGSIbWvjOs7icaVBToj527ITT0rjymMXEciaE9TrDwRvFfMuvWhmssZutOjSaoJyAOOCIRKz2CiaEp2+uuvBS+RLWmYH6a1sOdbWoZr+TdLLT+zhcxw4yBVzXsNrlEox7Tl1YKj7abeVzQ2zDM9LQMzBX5WHxi3G9NxJWvNVXfSxjNCo60kbL67y1W8Q3KtF0ryvU8uCWM197o1CJV6KZdy8sKiAVXS/U5AVbMA40sB3sueZPGpbe31/1oWQg7RHl3k9Q27JapMEGDnRP2k4=;25:5dUxYMbuIH2I3MYkxHtt4D1JLrfJZ+RbXh5aKQBT5YC7PYNBZL2qJ33xmyyzEui+pmnwL8s529zYej9BHQw/2ox0ulGDKGNnDKEOp/Gbbq8KA5hPFyjo0TaC7g2eHfEIo5rB33LSHOIhnMnwauLZTodDwL5KpL3vUClvosFOHRM1t5A9UnTPNn6Kt7czenRF/ZF1rMzWIPMMXuUf8dNIA1ZK27h3kXI6pdUzRbDa1GLiCmnNfVUHuRb2CA5JLiKFWU03jfJHBNAdJaUX7CdbWJVMoC1qCxlmjTfycuA5KiYREkCU/WUYtjPWmGNgOQ/0ojsHRu6uGBdCEYvH6pV7IQ== X-MS-TrafficTypeDiagnostic: AM4PR08MB0913: X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB0913;31:t8u+8waUqSkFiI2acYE3k27dkPbdBDC+Di+KNM3fvnIGde61ERE+JecnxU4sPT96Gr395gsllw6kBXkkAApcdFBamWrAUnpLew7/Y6TEfbcOEwTt9aiViEM2uTii/H6XfT0cAgph/6LVZlyN8UWAhy+yV7DftlVW0tCRMs4fXGCFWUbCQ4hGdlcRVlnJygN0d9B/0v7hiagQho33F0AWe75yXMg+p/9V14HxxfA2mRQ=;20:jK3XlpQZP+habTEylZC6inkwGlocCm5EMSVex6/FOJM2wR5nIXEGAk6ofWcAZ9x4pqTLMdOmV++O1SkdMga/qf4DVraxrAsU2Akb1qBIwgfDL/2l2nhDqlTrPPF7UV3RCnjARPzNzOVGyq5CfqmzGe0bExd+zHlFiIhMSZ4OJwnoS2dA+HOKxxHK0EfiH+1bKIMhmgzc4AAeAZ87qZK+fsKFDuCRm8sDFCynHVXG0V3j19S1TKitjU+hWGFKzKaWLdIATSquelPze495W9A30ernDZNXvUtOWWtSM4NwAJLSKPqAqwhYrLL8ykNjd5uSXmnCG2F8bTuZcoXQ0xZdRcMBd3PJNlzADC3cBX+QlliVX+xWETWCp1JtdhSSYwYjQEQEm5OwsnIJ8elI0gb0YhdPFNVyCq438TpCJc3hTlg0F7PfPVz20u/AOED5Fv7J1qxrj77SmwfDIaPTsM3BGNx0xd9jX+ynNxOFgWd68v7CK7qCrB7U+V33HNeqa+RV X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(28532068793085)(21748063052155); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(3231221)(944501327)(52105095)(93006095)(93004095)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011);SRVR:AM4PR08MB0913;BCL:0;PCL:0;RULEID:;SRVR:AM4PR08MB0913; X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB0913;4:kIMEM5Q/30iG9Sz5lw3HECG5FyKSZaKHudImsGHDEu6r4KsT6NyU1vBKQiV0yLBByCX/oArol37VH1zcY5uOSrW9lW/d8BtETAyvaHSGcqAl1cwlWZSe1xXiIBxZzJzY9ULk7s5vOmLduWi8cZ5loUiHk6fTlpLv/8ojkJi77+0H4a/jjcG6hayagd07MFM+eZdNr/n1RB6Ujkuk70hJ7nmmIBUycuS7G6CRaft1n+IXHgPiIRbnYLq/LLpr+rX9Tg1cVR1TJVQB4way3+BhqOHk+N0Wo0lXPigAHzQ5mC4ZyySMQUnWz7HW4Ls51MfxfuMyjw2sG91/O4D/IcnLsbqf4C1AJE/sV+t+ZBWJHKQ= X-Forefront-PRVS: 0624A2429E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM4PR08MB0913;23:0HUcJuBhMhyxXP/mCeymXJMZS1YMINtYljRtWeTfc?= =?us-ascii?Q?893wo5NL7Yir9gXC9qOaM3flPTE8Xxv/bPQzdfJUDigrvkCLrLEiwgwtfX0Z?= =?us-ascii?Q?KwEDYSdM+VnnCinWt5Dv/0iQKXRTlaxFEvnDHWmjlRSgYQRYfC7hRX1n+w1/?= =?us-ascii?Q?BQhubzoeQ/9CP6kL9OaNyhBVA8jN8Ku9qF11zpsAXJI3ybV1YT7BjkarN/yq?= =?us-ascii?Q?SviVeE6G4kzN9Jhvp5kPiUNHG6nktVYxT8uD18YtN8xcnRwLJZxBOLJV9Do4?= =?us-ascii?Q?+zWQYMeMfZNj1TPuSfbp48D05cpFygE8cw4YR0mCsJWHQTsoCndIpx2Ok9/l?= =?us-ascii?Q?oDtNCPpjF0rcOT4CHjltyeTa86JFIyZfKBKmlDcnXfa2msk2Izch6njRJDXs?= =?us-ascii?Q?yL8kPNVvxSIj9gGxlTc3jBOm0dOKNofRMQ2fb2LQdmlqTMMc3VsXC2zOupNm?= =?us-ascii?Q?luZJDEKXmSQ2Jio4LE7w9ic86RZKtqtkSkoxcOHZ8VbeB6sOnqEIJyNh/9ra?= =?us-ascii?Q?75l0dKVNfGPPpo+VuLK3iWSaLkoQCUpB1Xmga6tj1czsWZyl4Oa3kDYXyMCN?= =?us-ascii?Q?oVkA48PvHmsSXUVo08ZSjeoBJnbW1LC/OrNqdYm5x3xwUfQDsc9gTCDwI1xM?= =?us-ascii?Q?SKmler X-Microsoft-Antispam-Message-Info: 1OU2pZ0pXiXBd6UuUWN10z3XKCTzpu1Qerb9AGq0g5Q7+C/kO6HkJbyrvO8doUmLjFw2ig1MbzOxPQcwZL8FyuuAB1pDAFjzafVvKsBykBZvNvKz5sVL0Sa6ts1m8r6D/8GbJydo9lgqoC+aC7KphSUGweq808jAIzeszP0EO42cZ1BZEVjNbcAW50xPIxoL X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB0913;6:M4Qze1DyKJtfzsGQhLpP4UP2PDIr7bxY2zvb6LWsSPIZVqtsIWhFQVWKdGJ7aOJMhENsJqj8Zu5HSoWuumQDDNNFH2uPeNi9aofhyLwPvipxg5qDuSz/gvV6BnHQq9swvyiCQ7MZiUQwqkmQF1nyexwczVQ3kRR6o25IJgEEDlpyvf/yafRT6uAa98jGYr0S0chr0H8Y+5DNwmHTIgy33F6zLaLph0ib5eJ2Tri49j1x+jljSfUL2aFEpbb5SJLJQ8HYFYy/FSmT5D5yAqEVJ3RdinJvYdWISWxe0ZCvRMQDSHW5MlhI4JP9dzNTECH0ZYb1UHzXfkSV/sbcveeMo870FlPwXnqve0iNx+hinxOZzwxWG7bQ2dmlYMxos3DrelNRl+9QSKlSBkqCXHKf12Yng3vG+r03IpTkhCyvq9m2cNIKBmZ8urYs77Mj7MIw8dNJ6SOYD7647gq4MqzTLw==;5:XHtBJMd/WzxGO4L6JBTQD4tbo7PjGLXL5puTxWjEHJ3+udLCexRvRuKqzLMWuujHGuHlFXohIfwrH1FLLwgoe8DU0Kpky6fTAqw09/BJMkr5NoITUBR4q2wQ9f4haQe+68KpYSC9KuANRIyeHPKNa5cSIdYjiWCT8xQbW3ZsT2w=;24:NnJC1dHb7Skb6SgzVFyZOWQ3VLGlN0GKYcuVgEZ+7dUm2JlVivnIGUF0uBQkT5eRDzTrtpJX8DmE5Th4baqnB+TNbM00SLdi0wWP303Ur74= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB0913;7:PteH6rWBRvoQbDWUQ7HFDbJIeT0KOykWMzPEue99zxnH3QS6PEZMnoJtQbukUiPSaTmLOst3Gx0dti0g224f+5/qHg/RGUv0dGG9jBCz2MiUZgQhVlzYjMCuy3MfGRiSDaWZanz0xZZIAlai8xD0wCxAXnJxPRQ6n2uIqMY9fqgmb8zb3Mo8d3Th6PrTaujRXddGlNprnX0GlgZcw5cZzCNsjoybCkk5sF9+yKFqxJFypOfguxNTJioTVi2WL47Z X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2018 12:00:41.2501 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2f8bc01a-e84b-47e9-76ce-08d593da5d08 X-MS-Exchange-CrossTenant-Id: e4289438-1c5f-4c95-a51a-ee553b8b18ec X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e4289438-1c5f-4c95-a51a-ee553b8b18ec;Ip=[217.244.7.18];Helo=[email.weidmueller.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB0913 Xref: news.gmane.org gmane.linux.lib.musl.general:12638 Archived-At: --_000_E9B8FCA610BB6249B7C397BE4A01AE19412212SRVDE355weidmuell_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello, My application using musl libc runs into a seg fault if I call pthread_deta= ch after pthread_join on the same thread. From my understanding pthread_det= ach should return ESRCH if a previous join was called on a particular threa= d. That=E2=80=99s the correct behavior I see if I run my program with glibc= . But on my LEDE based router I run into the seg fault issue. The cross compiling toolchain I use is arm_cortex-a9+neon_gcc-5.4.0_musl-1.= 1.16_eabi. Simple example I used for testing is below. #include #include #include #include void *print_message_function( void *ptr ); int main() { pthread_t thread1, thread2; const char *message1 =3D "Thread 1"; const char *message2 =3D "Thread 2"; int iret1, iret2; int dret1, dret2; iret1 =3D pthread_create( &thread1, NULL, &print_message_function, (vo= id*) message1); if(iret1) { fprintf(stderr,"Error - pthread_create() return code: %d\n",iret1)= ; exit(EXIT_FAILURE); } iret2 =3D pthread_create( &thread2, NULL, &print_message_function, (vo= id*) message2); if(iret2) { fprintf(stderr,"Error - pthread_create() return code: %d\n",iret2)= ; exit(EXIT_FAILURE); } printf("pthread_create() for thread 1 returns: %d\n",iret1); printf("pthread_create() for thread 2 returns: %d\n",iret2); pthread_join( thread1, NULL); pthread_join( thread2, NULL); dret1 =3D pthread_detach(thread1); if (dret1 =3D=3D EINVAL) { printf("got EINVAL when detaching 1\n"); } if (dret1 =3D=3D ESRCH) { printf("got ESRCH when detaching 1\n"); } dret2 =3D pthread_detach(thread2); if (dret2 =3D=3D EINVAL) { printf("got EINVAL when detaching 2\n"); } if (dret2 =3D=3D ESRCH) { printf("got ESRCH when detaching 2\n"); } return 0; } void *print_message_function( void *ptr ) { char *message; message =3D (char *) ptr; printf("%s \n", message); } Output gotten pthread_create() for thread 1 returns: 0 Thread 1 pthread_create() for thread 2 returns: 0 Thread 2 Segmentation fault (core dumped) Regards Salman ________________________________ Kommanditgesellschaft - Sitz: Detmold - Amtsgericht Lemgo HRA 2790 - Komplement=C3=A4rin: Weidm=C3=BCller Interface F=C3=BChrungsgesellschaft mb= H - Sitz: Detmold - Amtsgericht Lemgo HRB 3924; Gesch=C3=A4ftsf=C3=BChrer: Jos=C3=A9 Carlos =C3=81lvarez Tobar, Elke Eckste= in, J=C3=B6rg Timmermann; USt-ID-Nr. DE124599660 --_000_E9B8FCA610BB6249B7C397BE4A01AE19412212SRVDE355weidmuell_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable

Hello,

 

My application using musl libc = runs into a seg fault if I call pthread_detach after pthread_join on the sa= me thread. From my understanding pthread_detach should return ESRCH if a pr= evious join was called on a particular thread. That=E2=80=99s the correct behavior I see if I run my program with= glibc. But on my LEDE based router I run into the seg fault issue.

The cross compiling toolchain I= use is arm_cortex-a9+neon_gcc-5.4.0_musl-1.1.16_eabi. Simple example I= used for testing is below.

 

#include <stdio.h><= /o:p>

#include <errno.h><= /o:p>

#include <stdlib.h>=

#include <pthread.h>

 

void *print_message_function( = void *ptr );

 

int main()

{

     pthre= ad_t thread1, thread2;

     const= char *message1 =3D "Thread 1";

     const= char *message2 =3D "Thread 2";

     int&n= bsp; iret1, iret2;

     int d= ret1, dret2;

 

     iret1= =3D pthread_create( &thread1, NULL, &print_message_function, (void= *) message1);

     if(ir= et1)

     {

     =     fprintf(stderr,"Error - pthread_create() return cod= e: %d\n",iret1);

     =     exit(EXIT_FAILURE);

     }

 

     iret2= =3D pthread_create( &thread2, NULL, &print_message_function, (void= *) message2);

     if(ir= et2)

     {

     =     fprintf(stderr,"Error - pthread_create() return cod= e: %d\n",iret2);

     =     exit(EXIT_FAILURE);

     }

 

     print= f("pthread_create() for thread 1 returns: %d\n",iret1);

     print= f("pthread_create() for thread 2 returns: %d\n",iret2);

 

     pthre= ad_join( thread1, NULL);

     pthre= ad_join( thread2, NULL);

     =

     = dret1 =3D  pthread_detach(thread1);

     if (d= ret1 =3D=3D EINVAL) {

     =      printf("got EINVAL when detaching 1\n");=

     }

     if (d= ret1 =3D=3D  ESRCH) {

     =      printf("got ESRCH when detaching 1\n");<= o:p>

     }

     dret2= =3D pthread_detach(thread2);

     if (d= ret2 =3D=3D EINVAL) {

     =      printf("got EINVAL when detaching 2\n");=

     }

     if (d= ret2 =3D=3D  ESRCH) {

     =      printf("got ESRCH when detaching 2\n");<= o:p>

     }

 

     retur= n 0;

}

 

void *print_message_function( = void *ptr )

{

     char *message;<= /o:p>

     message =3D (char *)= ptr;

     printf("%s \n&q= uot;, message);

}

 

Output gotten

pthread_create() for thread 1 r= eturns: 0

Thread 1

pthread_create() for thread 2 r= eturns: 0

Thread 2

Segmentation fault (core dumped= )

 

Regards

Salman


Kommanditgesellschaft - Sitz: Detmold - Amtsgericht Lemgo HRA 2790 -
Komplement=C3=A4rin: Weidm=C3=BCller Interface F=C3=BChrungsgesellschaft mb= H -
Sitz: Detmold - Amtsgericht Lemgo HRB 3924;
Gesch=C3=A4ftsf=C3=BChrer: Jos=C3=A9 Carlos =C3=81lvarez Tobar, Elke Eckste= in, J=C3=B6rg Timmermann;
USt-ID-Nr. DE124599660
--_000_E9B8FCA610BB6249B7C397BE4A01AE19412212SRVDE355weidmuell_--