<div dir="ltr">Hi,<br><br>I&#39;m currently experiencing a weird problem with Ipopt and Blas on Solaris (SPARC). Each time we try to solve a specific problem we get a SIGSEGV as soon as a Blas function is called (DGEMM):<br>
<br>The problem only happens when I set max_iter to 400, it works with 5-10 iterations... I guess the Blas function doesn&#39;t get called with a small number of iterations...<br><br>Here&#39;s the output of the core dump with dbx:<br>
<br>---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
t@41 (l@41) terminated by signal SEGV (Segmentation Fault)<br>0xffffffff26ef4c2c: ___pl_pp_dgemm_64_+0x002c:&nbsp; stx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %i5, [%sp + 2263]<br>dbx: core file read error: address 0xffffffff2e2426b0 not in data space<br>Current function is Ipopt::IpBlasDgemm<br>
&nbsp; 199&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F77_FUNC(dgemm,DGEMM)(&amp;TRANSA, &amp;TRANSB, &amp;M, &amp;N, &amp;K, &amp;alpha, A, &amp;LDA,<br>(dbx) where<br>current thread: t@41<br>&nbsp; [1] ___pl_pp_dgemm_64_(0xffffffff2e43bf43, 0xffffffff2e43bf42, 0xffffffff2e43bdc0, 0xffffffff2e43bdb8, 0xffffffff2e43bdb0, 0xffffffff2e43bf90), at 0xffffffff26ef4c2c<br>
&nbsp; [2] ___pl_dgemm_64_(0x1, 0x0, 0x1, 0x4, 0x0, 0xffffffff2e43bf68), at 0xffffffff26e5ac0c<br>&nbsp; [3] ___pl_dgemm_(0x4, 0x4, 0xffffffff2e43bf58, 0xffffffff2e43bf54, 0xffffffff2e43bf50, 0x4), at 0xffffffff2755ac10<br>=&gt;[4] Ipopt::IpBlasDgemm(transa = true, transb = false, m = 4, n = 4, k = 4, alpha = 1.0, A = 0x1, ldA = 4, B = 0x1, ldB = 4, beta = 0.0, C = 0x1, ldC = 4), line 199 in &quot;IpBlas.cpp&quot;<br>
&nbsp; [5] Ipopt::DenseGenMatrix::AddMatrixProduct(this = 0x1, alpha = 1.0, A = CLASS, transA = true, B = CLASS, transB = false, beta = 0.0), line 90 in &quot;IpDenseGenMatrix.cpp&quot;<br>&nbsp; [6] Ipopt::LimMemQuasiNewtonUpdater::UpdateHessian(this = 0x1), line 464 in &quot;IpLimMemQuasiNewtonUpdater.cpp&quot;<br>
&nbsp; [7] Ipopt::IpoptAlgorithm::UpdateHessian(this = 0x1), line 484 in &quot;IpIpoptAlg.cpp&quot;<br>&nbsp; [8] Ipopt::IpoptAlgorithm::Optimize(this = 0x1), line 301 in &quot;IpIpoptAlg.cpp&quot;<br>&nbsp; [9] Ipopt::IpoptApplication::call_optimize(this = 0x1), line 663 in &quot;IpIpoptApplication.cpp&quot;<br>
&nbsp; [10] Ipopt::IpoptApplication::OptimizeNLP(this = 0x1, nlp = CLASS, alg_builder = CLASS), line 563 in &quot;IpIpoptApplication.cpp&quot;<br>&nbsp; [11] Ipopt::IpoptApplication::OptimizeNLP(this = 0x1, nlp = CLASS), line 542 in &quot;IpIpoptApplication.cpp&quot;<br>
&nbsp; [12] Ipopt::IpoptApplication::OptimizeTNLP(this = 0x1, tnlp = CLASS), line 521 in &quot;IpIpoptApplication.cpp&quot;<br>&nbsp; [13] IpoptSolve(ipopt_problem = 0x1, x = 0x1, g = 0xffffffff, obj_val = 0x1, mult_g = 0xffffffff, mult_x_L = 0x1, mult_x_U = 0x1, user_data = 0x1), line 241 in &quot;IpStdCInterface.cpp&quot;<br>
&nbsp; [14] Java_org_coinor_Ipopt_IpoptSolve(env = 0x1, obj_this = 0xffffffff, pipopt = 4326409920, xj = 0xffffffff, gj = 0xffffffff, obj_valj = 0xffffffff, mult_gj = 0xffffffff, mult_x_Lj = 0xffffffff, mult_x_Uj = 0xffffffff, callback_grad_f = 0xffffffff, callback_jac_g = 0xffffffff, callback_hess = 0xffffffff), line 175 in &quot;jipopt.cpp&quot;<br>
...<br>(dbx)<br>---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
<br>First I thought that it was a problem with the 64 bits version of Blas but I recompiled it in 32 bits and got the same error...<br><br>I tried with different combination of libraries: Mumps and MA27, stock Blas and Blas bundled with Solaris (libsunperf) without any success, always the same error!<br>
<br>Surprisingly it works perfectly under Linux with the same dataset!!!<br><br>Any idea?<br><br>Thanks<br><br>Christian<br><br></div>