# Nginx 0.7.67 and 0.7.68 core dump on Solaris 10 - not in executable format: File format not recogniz

**URL:** <https://www.ruby-forum.com/t/nginx-0-7-67-and-0-7-68-core-dump-on-solaris-10-not-in-executable-format-file-format-not-recogniz/201294>\
**Category:** NGINX\
**Created:** [January 4, 2011, 6:39pm UTC](https://www.ruby-forum.com/t/nginx-0-7-67-and-0-7-68-core-dump-on-solaris-10-not-in-executable-format-file-format-not-recogniz/201294 "2011-01-04T18:39:59Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![luislavena](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/0ea827/32.png) [@luislavena](https://www.ruby-forum.com/u/luislavena)\
**Post date:** [January 4, 2011, 6:39pm UTC](https://www.ruby-forum.com/t/nginx-0-7-67-and-0-7-68-core-dump-on-solaris-10-not-in-executable-format-file-format-not-recogniz/201294/1 "2011-01-04T18:39:59Z")

</div>

Our nginx server is dumping core but I can’t debug the core file.  
Ideas?

GNU gdb 6.8  
Copyright (C) 2008 Free Software Foundation, Inc.  
License GPLv3+: GNU GPL version 3 or later  
[http://gnu.org/licenses/gpl.html](http://gnu.org/licenses/gpl.html)  
This is free software: you are free to change and redistribute it.  
There is NO WARRANTY, to the extent permitted by law. Type “show  
copying”  
and “show warranty” for details.  
This GDB was configured as “sparc-sun-solaris2.10”…  
“/myhome/nginx-0.7.68/html/core”: not in executable format: File format  
not recognized

–

* * *

Robert La Ferla  
VP Engineering  
OMS SafeHarbor

This message (and any attachments) contains confidential information and  
is protected by law. If you are not the intended recipient, you should  
delete this message and are hereby notified that any disclosure,  
copying, distribution, or the taking of any action based on this  
message, is strictly prohibited.

---

<div class="post-metadata">

**Author:** ![Robert\_La\_Ferla](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/4af34b/32.png) [@Robert\_La\_Ferla](https://www.ruby-forum.com/u/Robert_La_Ferla)\
**Post date:** [January 4, 2011, 7:46pm UTC](https://www.ruby-forum.com/t/nginx-0-7-67-and-0-7-68-core-dump-on-solaris-10-not-in-executable-format-file-format-not-recogniz/201294/2 "2011-01-04T19:46:26Z")

</div>

Hello!

On Tue, Jan 4, 2011 at 20:37, Robert La Ferla [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> “/myhome/nginx-0.7.68/html/core”: not in executable format: File format not  
> recognized  
> Core file is not executable. You should pass path to nginx binary to gdb  
> first.

–  
Boris D..

---

<div class="post-metadata">

**Author:** ![Robert\_La\_Ferla](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/4af34b/32.png) [@Robert\_La\_Ferla](https://www.ruby-forum.com/u/Robert_La_Ferla)\
**Post date:** [January 4, 2011, 11:49pm UTC](https://www.ruby-forum.com/t/nginx-0-7-67-and-0-7-68-core-dump-on-solaris-10-not-in-executable-format-file-format-not-recogniz/201294/3 "2011-01-04T23:49:11Z")

</div>

On Wed, Jan 5, 2011 at 00:35, Robert La Ferla [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> Thanks Boris.
> 
> Here is the stacktrace for the nginx crash bug: It’s in the 3rd party  
> secure download module.
> 
> Program terminated with signal 11, Segmentation fault.  
> [New process 73091]  
> #0 ngx\_http\_set\_exten (r=0xc7f60) at src/http/ngx\_http\_core\_module.c:1671  
> 1671 if (r-\>uri.data[i] == ‘.’ && r-\>uri.data[i - 1] != ‘/’) {  
> What is the output of  
> p r  
> p r-\>uri  
> p i

–  
Boris D..

---

<div class="post-metadata">

**Author:** ![Robert\_La\_Ferla](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/4af34b/32.png) [@Robert\_La\_Ferla](https://www.ruby-forum.com/u/Robert_La_Ferla)\
**Post date:** [January 4, 2011, 10:37pm UTC](https://www.ruby-forum.com/t/nginx-0-7-67-and-0-7-68-core-dump-on-solaris-10-not-in-executable-format-file-format-not-recogniz/201294/4 "2011-01-04T22:37:46Z")

</div>

Thanks Boris.

Here is the stacktrace for the nginx crash bug: It’s in the 3rd party  
secure download module.

Program terminated with signal 11, Segmentation fault.  
[New process 73091]  
#0 ngx\_http\_set\_exten (r=0xc7f60) at  
src/http/ngx\_http\_core\_module.c:1671  
1671 if (r-\>uri.data[i] == ‘.’ && r-\>uri.data[i - 1] != ‘/’)  
{  
(gdb) bt  
#0 ngx\_http\_set\_exten (r=0xc7f60) at  
src/http/ngx\_http\_core\_module.c:1671  
#1 0x0003f4fc in ngx\_http\_internal\_redirect (r=0xc7f60, uri=0xc2e88,  
args=0xc80f8) at src/http/ngx\_http\_core\_module.c:2178  
#2 0x00076248 in ngx\_http\_secure\_download\_handler (r=0xc7f60) at  
/export/home/mb\_stage/nginx-package/ngx\_http\_secure\_download/ngx\_http\_secure\_download\_module.c:206  
#3 0x0003db30 in ngx\_http\_core\_access\_phase (r=0xc7f60, ph=0xcca88) at  
src/http/ngx\_http\_core\_module.c:1009  
#4 0x0003d744 in ngx\_http\_core\_run\_phases (r=0xc7f60) at  
src/http/ngx\_http\_core\_module.c:813  
#5 0x0003d6dc in ngx\_http\_handler (r=0xc7f60) at  
src/http/ngx\_http\_core\_module.c:796  
#6 0x00045458 in ngx\_http\_process\_request (r=0xc7f60) at  
src/http/ngx\_http\_request.c:1637  
#7 0x0004465c in ngx\_http\_process\_request\_headers (rev=0xbac70) at  
src/http/ngx\_http\_request.c:1080  
#8 0x000441e0 in ngx\_http\_process\_request\_line (rev=0xf0c44) at  
src/http/ngx\_http\_request.c:885  
#9 0x00043b1c in ngx\_http\_init\_request (rev=0xf0c44) at  
src/http/ngx\_http\_request.c:510  
#10 0x0002ea38 in ngx\_event\_process\_posted (cycle=0xb6848,  
posted=0xa4890) at src/event/ngx\_event\_posted.c:39  
#11 0x0002d6c4 in ngx\_process\_events\_and\_timers (cycle=0xb6848) at  
src/event/ngx\_event.c:272  
#12 0x0003506c in ngx\_worker\_process\_cycle (cycle=0xb6848, data=0x0) at  
src/os/unix/ngx\_process\_cycle.c:791  
#13 0x00032c98 in ngx\_spawn\_process (cycle=0xb6848, proc=0x34f80  
\<ngx\_worker\_process\_cycle\>, data=0x0, name=0x7ab80 “worker process”,  
respawn=0) at src/os/unix/ngx\_process.c:194  
#14 0x00034cdc in ngx\_reap\_children (cycle=0xb6848) at  
src/os/unix/ngx\_process\_cycle.c:612  
#15 0x000341ec in ngx\_master\_process\_cycle (cycle=0xb6848) at  
src/os/unix/ngx\_process\_cycle.c:180  
#16 0x000194ec in main (argc=749672, argv=0xffbffc2c) at  
src/core/nginx.c:396

–

* * *

Robert La Ferla  
VP Engineering  
OMS SafeHarbor

This message (and any attachments) contains confidential information and  
is protected by law. If you are not the intended recipient, you should  
delete this message and are hereby notified that any disclosure,  
copying, distribution, or the taking of any action based on this  
message, is strictly prohibited.

---

<div class="post-metadata">

**Author:** ![Robert\_La\_Ferla](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/4af34b/32.png) [@Robert\_La\_Ferla](https://www.ruby-forum.com/u/Robert_La_Ferla)\
**Post date:** [January 5, 2011, 12:08am UTC](https://www.ruby-forum.com/t/nginx-0-7-67-and-0-7-68-core-dump-on-solaris-10-not-in-executable-format-file-format-not-recogniz/201294/5 "2011-01-05T00:08:00Z")

</div>

On 1/4/2011 5:47 PM, Boris D. wrote:

> What is the output of  
> p r  
> p r-\>uri  
> p i

Program terminated with signal 11, Segmentation fault.  
[New process 73091]  
#0 ngx\_http\_set\_exten (r=0xc7f60) at  
src/http/ngx\_http\_core\_module.c:1671  
1671 if (r-\>uri.data[i] == ‘.’ && r-\>uri.data[i - 1] != ‘/’)  
{  
(gdb) p r  
$1 = (ngx\_http\_request\_t \*) 0xc7f60  
(gdb) p r-\>uri  
$2 = {len = 3, data = 0xffffffff \<Address 0xffffffff out of bounds\>}  
(gdb) p i  
$3 = 2

–

* * *

Robert La Ferla  
VP Engineering  
OMS SafeHarbor

This message (and any attachments) contains confidential information and  
is protected by law. If you are not the intended recipient, you should  
delete this message and are hereby notified that any disclosure,  
copying, distribution, or the taking of any action based on this  
message, is strictly prohibited.

---

<div class="post-metadata">

**Author:** ![Robert\_La\_Ferla](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/4af34b/32.png) [@Robert\_La\_Ferla](https://www.ruby-forum.com/u/Robert_La_Ferla)\
**Post date:** [January 5, 2011, 12:28am UTC](https://www.ruby-forum.com/t/nginx-0-7-67-and-0-7-68-core-dump-on-solaris-10-not-in-executable-format-file-format-not-recogniz/201294/6 "2011-01-05T00:28:38Z")

</div>

On Wed, Jan 5, 2011 at 02:06, Robert La Ferla [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> (gdb) p r  
> Sorry,  
> p \*r

> $2 = {len = 3, data = 0xffffffff \<Address 0xffffffff out of bounds\>}  
> Looks like ngx\_http\_secure\_download\_module performs internal redirect  
> to incorrect URL and you should consult with it’s author.

–  
Boris D..

---

<div class="post-metadata">

**Author:** ![Robert\_La\_Ferla](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/4af34b/32.png) [@Robert\_La\_Ferla](https://www.ruby-forum.com/u/Robert_La_Ferla)\
**Post date:** [January 6, 2011, 2:37pm UTC](https://www.ruby-forum.com/t/nginx-0-7-67-and-0-7-68-core-dump-on-solaris-10-not-in-executable-format-file-format-not-recogniz/201294/7 "2011-01-06T14:37:53Z")

</div>

I solved this issue. nginx 0.7.x does not complain about the missing  
variable secure\_download\_fail\_location. Therefore, when an error occurs  
in that module, the variable/URL is not found and it segfaults. I  
believe later versions of nginx complain about the missing variable.

–

* * *

Robert La Ferla  
VP Engineering  
OMS SafeHarbor

This message (and any attachments) contains confidential information and  
is protected by law. If you are not the intended recipient, you should  
delete this message and are hereby notified that any disclosure,  
copying, distribution, or the taking of any action based on this  
message, is strictly prohibited.
