--with-blas/lapack being ignored

Ben Abbott bpabbott at mac.com
Fri Dec 7 15:11:17 CST 2007


On Friday, December 07, 2007, at 10:57AM, "John W. Eaton" <jwe at bevo.che.wisc.edu> wrote:
>On  6-Dec-2007, Ben Abbott wrote:
>
>| I've run octave in ddd (I modified run_octave to use ddd in addition  
>| gdb).
>| 
>| As expected octave crashes on the command strptime('09/13','%m/%d')
>| 
>| 	Program recieved signal EXC_BAD_ACCESS, Could not access memory.
>| 	Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
>| 	0x9110f590 in strlen ()
>| 	No source file named address.
>| 
>| A dialog is also produced by ddd. Which says
>| 
>| 	/Users/bpabbott/Desktop/octave/address: No such file or directory
>| 
>| The crash occurs when line 307 of oct-time.cc is exectuted.
>| 
>|     306 #if defined (HAVE_STRUCT_TM_TM_ZONE)
>|  >> 307   tm_zone = t->tm_zone;
>|     308 #elif defined (HAVE_TZNAME)
>| 
>| Just prior to the crash, the date and time variables were set to
>| 
>|    tm_sec = 0
>|    tm_min = 0
>|    tm_hour = 0
>|    tm_mday = 13
>|    tm_mon = 8
>|    tm_year = 0
>|    tm_wday = 0
>|    tm_yday = 0
>|    tm_isdst = 0
>
>Are these the values of the elements of the octave_base_tm structure,
>or the values in the struct tm structure?  What is in t->tm_zone
>above?
>
>If it crashes on this line, then how is strlen involved?
>

John,

Below is the partion of code in oct-time.cc that I had looked at in the debugger. Using ddd, I had placed a break point at line 307 (the same like that crashes octave).

   290 void
   291 octave_base_tm::init (void *p)
   292 {
   293   struct tm *t = static_cast<struct tm*> (p);
   294
   295   tm_sec = t->tm_sec;
   296   tm_min = t->tm_min;
   297   tm_hour = t->tm_hour;
   298   tm_mday = t->tm_mday;
   299   tm_mon = t->tm_mon;
   300   tm_year = t->tm_year;
   301   tm_wday = t->tm_wday;
   302   tm_yday = t->tm_yday;
   303   tm_isdst = t->tm_isdst;
   304 
   305 #if defined (HAVE_STRUCT_TM_TM_ZONE)
>> 307   tm_zone = t->tm_zone;
   308 #elif defined (HAVE_TZNAME)
   309   if (t->tm_isdst == 0 || t->tm_isdst == 1)
   310     tm_zone = tzname[t->tm_isdst];
   311 #endif
   312 }

>From inside ddd, I hovered the mouse over lines 295-303 in order to obtain the results below.

  tm_sec = 0
  tm_min = 0
  tm_hour = 0
  tm_mday = 13
  tm_mon = 8
  tm_year = 0
  tm_wday = 0
  tm_yday = 0
  tm_isdst = 0

Regarding t->tm_zone, unfortunately I'm not able to run octave under debug at the moment. I hope to get back to you later tonight.

Ben




More information about the Bug-octave mailing list